haproxy/ebtree
Willy Tarreau 41136de58e BUILD: ebtree: improve architecture-specific alignment
Commit 2c315ee75e ("BUG/MEDIUM: ebtree: don't set attribute packed
without unaligned access support") addressed alignment issues in
ebtrees in a way that is not really optimal since it will leave holes
in eb32trees for example.

This fix is better in that it restores the packed attribute on ebnode
but enforces proper alignment on the carrying nodes where necessary.
This also has the benefit of closing holes wherever possible and to
align data to the minimally required size.

The only thing it cannot close is the 32-bit hole at the end of ebmbnode
due to the required 64-bit on certain archs but at least it guarantees
that the key correctly points to the end of the node and that there is
never a hole after it.

This is a better fix than the one above and should be backported to
branches where the one above will be backported.
2020-02-25 10:34:49 +01:00
..
LICENSE
compiler.h
eb32sctree.c BUILD: remove obsolete support for -mregparm / USE_REGPARM 2020-02-25 07:41:47 +01:00
eb32sctree.h BUILD: ebtree: improve architecture-specific alignment 2020-02-25 10:34:49 +01:00
eb32tree.c BUILD: remove obsolete support for -mregparm / USE_REGPARM 2020-02-25 07:41:47 +01:00
eb32tree.h BUILD: ebtree: improve architecture-specific alignment 2020-02-25 10:34:49 +01:00
eb64tree.c BUILD: remove obsolete support for -mregparm / USE_REGPARM 2020-02-25 07:41:47 +01:00
eb64tree.h BUILD: ebtree: improve architecture-specific alignment 2020-02-25 10:34:49 +01:00
ebimtree.c BUILD: remove obsolete support for -mregparm / USE_REGPARM 2020-02-25 07:41:47 +01:00
ebimtree.h BUILD: remove obsolete support for -mregparm / USE_REGPARM 2020-02-25 07:41:47 +01:00
ebistree.c BUILD: remove obsolete support for -mregparm / USE_REGPARM 2020-02-25 07:41:47 +01:00
ebistree.h BUILD: remove obsolete support for -mregparm / USE_REGPARM 2020-02-25 07:41:47 +01:00
ebmbtree.c BUILD: remove obsolete support for -mregparm / USE_REGPARM 2020-02-25 07:41:47 +01:00
ebmbtree.h BUILD: ebtree: improve architecture-specific alignment 2020-02-25 10:34:49 +01:00
ebpttree.c BUILD: remove obsolete support for -mregparm / USE_REGPARM 2020-02-25 07:41:47 +01:00
ebpttree.h BUILD: ebtree: improve architecture-specific alignment 2020-02-25 10:34:49 +01:00
ebsttree.c BUILD: remove obsolete support for -mregparm / USE_REGPARM 2020-02-25 07:41:47 +01:00
ebsttree.h BUILD: remove obsolete support for -mregparm / USE_REGPARM 2020-02-25 07:41:47 +01:00
ebtree.c BUILD: remove obsolete support for -mregparm / USE_REGPARM 2020-02-25 07:41:47 +01:00
ebtree.h BUILD: ebtree: improve architecture-specific alignment 2020-02-25 10:34:49 +01:00