Regression IPv6 Source address, compilation error
Hi guys, I really need CONFIG_IPV6_SUBTREES, which is disabled by default in kernel config. If I enable it, I got following error while compiling my kernel. Quote: CC [M] net/ipv6/ip6_fib.o net/ipv6/ip6_fib.c: In function 'fib6_add': net/ipv6/ip6_fib.c:918:1: warning: ISO C90 forbids mixed declarations and code net/ipv6/ip6_fib.c:923:27: error: invalid storage class for function 'fib6_lookup_1' net/ipv6/ip6_fib.c:1013:27: error: invalid storage class for function 'fib6_locate_1' net/ipv6/ip6_fib.c:1073:25: error: invalid storage class for function 'fib6_find_prefix' net/ipv6/ip6_fib.c:1095:26: error: invalid storage class for function 'fib6_repair_tree' net/ipv6/ip6_fib.c:1196:13: error: invalid storage class for function 'fib6_del_route' net/ipv6/ip6_fib.c:1309:12: error: invalid storage class for function 'fib6_walk_continue' net/ipv6/ip6_fib.c:1383:12: error: invalid storage class for function 'fib6_walk' net/ipv6/ip6_fib.c:1397:12: error: invalid storage class for function 'fib6_clean_node' net/ipv6/ip6_fib.c:1436:13: error: invalid storage class for function 'fib6_clean_tree' net/ipv6/ip6_fib.c:1477:12: error: invalid storage class for function 'fib6_prune_clone' net/ipv6/ip6_fib.c:1487:13: error: invalid storage class for function 'fib6_prune_clones' net/ipv6/ip6_fib.c:1503:12: error: invalid storage class for function 'fib6_age' net/ipv6/ip6_fib.c:1564:13: error: invalid storage class for function 'fib6_gc_timer_cb' net/ipv6/ip6_fib.c:1569:12: error: invalid storage class for function 'fib6_net_init' net/ipv6/ip6_fib.c:1626:13: error: invalid storage class for function 'fib6_net_exit' net/ipv6/ip6_fib.c:1640:2: error: initializer element is not constant net/ipv6/ip6_fib.c:1640:2: error: (near initialization for 'fib6_net_ops.init') net/ipv6/ip6_fib.c:1641:2: error: initializer element is not constant net/ipv6/ip6_fib.c:1641:2: error: (near initialization for 'fib6_net_ops.exit') net/ipv6/ip6_fib.c:1677:1: error: expected declaration or statement at end of input net/ipv6/ip6_fib.c: At top level: net/ipv6/ip6_fib.c:81:13: warning: 'fib6_prune_clones' used but never defined net/ipv6/ip6_fib.c:83:25: warning: 'fib6_find_prefix' used but never defined net/ipv6/ip6_fib.c:84:26: warning: 'fib6_repair_tree' used but never defined net/ipv6/ip6_fib.c:85:12: warning: 'fib6_walk' used but never defined net/ipv6/ip6_fib.c:86:12: warning: 'fib6_walk_continue' used but never defined net/ipv6/ip6_fib.c:97:13: warning: 'fib6_gc_timer_cb' declared 'static' but never defined net/ipv6/ip6_fib.c: In function 'fib6_add': net/ipv6/ip6_fib.c:1677:1: warning: control reaches end of non-void function make[2]: *** [net/ipv6/ip6_fib.o] Error 1 make[1]: *** [net/ipv6] Error 2 At least it doesn't work since 2.6.32.113.11. I don't have all history patch, so I can't find in which revision it stopped working. And it was working in 2.6.32.57.7. So this is clearly a regression. May someone skilled in kernel source can fix it ? Thanks, PS : GCC compiler v4.5.x
Re: Regression IPv6 Source address, compilation error
I've isolated the problem, it's between 079.6 and 085.20