On Wed, 6 Jul 2016 17:42:36 -0400 Jason Baron <jbaron@xxxxxxxxxx> wrote:
Although dynamic debug is often only used for debug builds, sometimes itsumm, lazy. One is an lval and returns a value and the other does
enabled for production builds as well. Minimize its impact by using jump
labels. This reduces the text section by 7000+ bytes in the kernel image
below. It does increase data, but this should only be referenced when
changing the direction of the branches, and hence usually not in cache.
...
+#ifdef HAVE_JUMP_LABEL
+
+#define dd_key_init(key, init) key = (init)
...
+#else
+
+#define dd_key_init(key, init)
+
neither. Lack of parenthesization in the first version doubtless
exposes various horrors.
Care to do something more robust and conventional here? Presumably use
symmetrical do{}while(0) things, neither of which is an lval, both of
which don't return anything.