fix declaration of symbol of different size 13/513/2
authorJean-Mickael Guerin <jean-mickael.guerin@6wind.com>
Fri, 4 Mar 2016 13:14:21 +0000 (14:14 +0100)
committerGerrit Code Review <gerrit@fd.io>
Mon, 14 Mar 2016 12:40:17 +0000 (12:40 +0000)
commit8941ec2cb4ff29dbf167e3b80e09a70c9164cc19
tree62e64a2f5e13a2ce6257c102c5f48a074e017716
parent966a8b868b33de72d5d9edb6317418165c62661c
fix declaration of symbol of different size

I got many warnings at the link step with gcc version 5.3.1 20160225 (Ubuntu 5.3.1-10ubuntu2):

/usr/bin/ld: Warning: size of symbol `cop_input_node' changed from 112 in vnet/cop/.libs/cop.o to 168 in vnet/cop/.libs/node1.o
/usr/bin/ld: Warning: size of symbol `ethernet_input_node' changed from 112 in vnet/.libs/interface.o to 136 in vnet/ethernet/.libs/node.o
/usr/bin/ld: Warning: size of symbol `l2output_node' changed from 112 in vnet/l2/.libs/l2_efp_filter.o to 120 in vnet/l2/.libs/l2_output.o
/usr/bin/ld: Warning: size of symbol `srp_input_node' changed from 112 in vnet/srp/.libs/format.o to 136 in vnet/srp/.libs/node.o
/usr/bin/ld: Warning: size of symbol `vxlan_encap_node' changed from 112 in vnet/vxlan/.libs/vxlan.o to 128 in vnet/vxlan/.libs/encap.o
/usr/bin/ld: Warning: size of symbol `vxlan_input_node' changed from 112 in vnet/vxlan/.libs/vxlan.o to 144 in vnet/vxlan/.libs/decap.o
...

Looking at vlib_node_registration_t, I think the reason is that
the char * next_nodes[] could be bigger where the variable is defined
in .c file.

We should mark global variables as external in header files.

Some of them can be made static.

Change-Id: Ieb6961fd08180c9a69e1d884852703f3eb23f23f
Signed-off-by: Jean-Mickael Guerin <jean-mickael.guerin@6wind.com>
27 files changed:
vnet/vnet/classify/vnet_classify.h
vnet/vnet/cop/cop.h
vnet/vnet/devices/dpdk/dpdk.h
vnet/vnet/devices/ssvm/ssvm_eth.h
vnet/vnet/ethernet/ethernet.h
vnet/vnet/gre/gre.h
vnet/vnet/ipsec/ikev2.c
vnet/vnet/ipsec/ikev2.h
vnet/vnet/ipsec/ipsec.h
vnet/vnet/ipsec/ipsec_input.c
vnet/vnet/ipsec/ipsec_output.c
vnet/vnet/l2/l2_classify.h
vnet/vnet/l2/l2_output.c
vnet/vnet/l2/l2_output.h
vnet/vnet/l2tp/l2tp.h
vnet/vnet/lawful-intercept/lawful_intercept.h
vnet/vnet/lisp-gpe/lisp_gpe.h
vnet/vnet/map/ip4_sixrd.c
vnet/vnet/map/ip6_sixrd.c
vnet/vnet/map/map.h
vnet/vnet/map/sixrd.h
vnet/vnet/mpls-gre/mpls.h
vnet/vnet/nsh-gre/nsh_gre.h
vnet/vnet/nsh-vxlan-gpe/nsh_vxlan_gpe.h
vnet/vnet/srp/node.c
vnet/vnet/srp/srp.h
vnet/vnet/vxlan/vxlan.h