diff options
author | David Lamparter <equinox@opensourcerouting.org> | 2016-08-16 17:48:44 +0200 |
---|---|---|
committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2016-09-19 22:31:08 +0200 |
commit | 896af92e5b7f65de317b281acf469ccb9d713bb1 (patch) | |
tree | 61a25ee462b1d29f47a641c37156795181c4b680 /bgpd | |
parent | lib: deregister memtypes on exit/unload (diff) | |
download | frr-896af92e5b7f65de317b281acf469ccb9d713bb1.tar.xz frr-896af92e5b7f65de317b281acf469ccb9d713bb1.zip |
vtysh: work around gcc bug #69981
The memtypes changes break gcc -O0 build (none of the other optimisation
levels are affected, *any* of -Og, -Os, -O1, etc. make this go away).
Unfortunately, the option supposed to control this doesn't actually work
(-fno-keep-static-const; that not working is the actual gcc bug).
The workaround is to avoid DECLARE_MTYPE statements when their paired
DEFINE_MTYPE isn't linked in. Thankfully, that's only a problem in a
single place in vtysh where bgp_memory.h gets chain-included.
(vtysh.c -> bgp_vty.h -> bgpd.h -> bgp_memory.h)
So, this just breaks the chain at bgp_vty.h.
No other compiler (clang & icc tested) has exhibited this problem.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Diffstat (limited to 'bgpd')
-rw-r--r-- | bgpd/bgp_vty.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/bgpd/bgp_vty.h b/bgpd/bgp_vty.h index ba520af06..573e8c707 100644 --- a/bgpd/bgp_vty.h +++ b/bgpd/bgp_vty.h @@ -21,7 +21,7 @@ Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA #ifndef _QUAGGA_BGP_VTY_H #define _QUAGGA_BGP_VTY_H -#include "bgpd/bgpd.h" +struct bgp; #define CMD_AS_RANGE "<1-4294967295>" #define DYNAMIC_NEIGHBOR_LIMIT_RANGE "<1-5000>" |