Re: [PATCH] netfilter: conntrack: Force inlining of build check to prevent build failure
On Wed, May 03, 2017 at 09:55:16AM -0400, David Miller wrote: > From: Geert Uytterhoeven> Date: Wed, 3 May 2017 14:18:43 +0200 > > > If gcc (e.g. 4.1.2) decides not to inline total_extension_size(), the > > build will fail with: > > > > net/built-in.o: In function `nf_conntrack_init_start': > > (.text+0x9baf6): undefined reference to `__compiletime_assert_1893' > > > > or > > > > ERROR: "__compiletime_assert_1893" [net/netfilter/nf_conntrack.ko] > > undefined! > > > > Fix this by forcing inlining of total_extension_size(). > > > > Fixes: b3a5db109e0670d6 ("netfilter: conntrack: use u8 for extension sizes > > again") > > Signed-off-by: Geert Uytterhoeven > > Pablo, I'm going to apply this directly to my tree to fix this build > failure, I hope you don't mind. Acked-by: Pablo Neira Ayuso -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] netfilter: conntrack: Force inlining of build check to prevent build failure
From: Geert UytterhoevenDate: Wed, 3 May 2017 14:18:43 +0200 > If gcc (e.g. 4.1.2) decides not to inline total_extension_size(), the > build will fail with: > > net/built-in.o: In function `nf_conntrack_init_start': > (.text+0x9baf6): undefined reference to `__compiletime_assert_1893' > > or > > ERROR: "__compiletime_assert_1893" [net/netfilter/nf_conntrack.ko] > undefined! > > Fix this by forcing inlining of total_extension_size(). > > Fixes: b3a5db109e0670d6 ("netfilter: conntrack: use u8 for extension sizes > again") > Signed-off-by: Geert Uytterhoeven Pablo, I'm going to apply this directly to my tree to fix this build failure, I hope you don't mind. Thanks. -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] netfilter: conntrack: Force inlining of build check to prevent build failure
On Wed, May 3, 2017 at 2:47 PM, Geert Uytterhoevenwrote: > Hi Arnd, > > On Wed, May 3, 2017 at 2:32 PM, Arnd Bergmann wrote: >> On Wed, May 3, 2017 at 2:18 PM, Geert Uytterhoeven >> wrote: >>> If gcc (e.g. 4.1.2) decides not to inline total_extension_size(), the >>> build will fail with: >>> >>> net/built-in.o: In function `nf_conntrack_init_start': >>> (.text+0x9baf6): undefined reference to `__compiletime_assert_1893' >>> >>> or >>> >>> ERROR: "__compiletime_assert_1893" [net/netfilter/nf_conntrack.ko] >>> undefined! >>> >>> Fix this by forcing inlining of total_extension_size(). >>> >>> Fixes: b3a5db109e0670d6 ("netfilter: conntrack: use u8 for extension sizes >>> again") >>> Signed-off-by: Geert Uytterhoeven >> >> I saw this as well when I tried building with "gcc-7 -Og", and came to the >> same >> conclusion. > > Good^H^H^H^HBad to see it not only happens with ancient compilers ;-) Right now we don't see it on newer compilers (I assume gcc-4.3 or up) as we always build with either -O2 or -Os optimizations. I was playing with -Og the other day to get faster builds, but that causes many build failures and additional warnings as the result of missing out on optimizations that we have come to rely on. It might be worth getting -Og to build if the compile time is drastically faster, but we probably have to completely do away with BUILD_BUG_ON() and similar checks in that configuration, which in turn makes the build output less valuable. Arnd -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] netfilter: conntrack: Force inlining of build check to prevent build failure
Hi Arnd, On Wed, May 3, 2017 at 2:32 PM, Arnd Bergmannwrote: > On Wed, May 3, 2017 at 2:18 PM, Geert Uytterhoeven > wrote: >> If gcc (e.g. 4.1.2) decides not to inline total_extension_size(), the >> build will fail with: >> >> net/built-in.o: In function `nf_conntrack_init_start': >> (.text+0x9baf6): undefined reference to `__compiletime_assert_1893' >> >> or >> >> ERROR: "__compiletime_assert_1893" [net/netfilter/nf_conntrack.ko] >> undefined! >> >> Fix this by forcing inlining of total_extension_size(). >> >> Fixes: b3a5db109e0670d6 ("netfilter: conntrack: use u8 for extension sizes >> again") >> Signed-off-by: Geert Uytterhoeven > > I saw this as well when I tried building with "gcc-7 -Og", and came to the > same > conclusion. Good^H^H^H^HBad to see it not only happens with ancient compilers ;-) > Acked-by: Arnd Bergmann Thanks! Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] netfilter: conntrack: Force inlining of build check to prevent build failure
Geert Uytterhoevenwrote: > If gcc (e.g. 4.1.2) decides not to inline total_extension_size(), the > build will fail with: > > net/built-in.o: In function `nf_conntrack_init_start': > (.text+0x9baf6): undefined reference to `__compiletime_assert_1893' > > or > > ERROR: "__compiletime_assert_1893" [net/netfilter/nf_conntrack.ko] > undefined! > > Fix this by forcing inlining of total_extension_size(). Sorry about that, thanks for the fix Geert. Acked-by: Florian Westphal -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] netfilter: conntrack: Force inlining of build check to prevent build failure
On Wed, May 3, 2017 at 2:18 PM, Geert Uytterhoevenwrote: > If gcc (e.g. 4.1.2) decides not to inline total_extension_size(), the > build will fail with: > > net/built-in.o: In function `nf_conntrack_init_start': > (.text+0x9baf6): undefined reference to `__compiletime_assert_1893' > > or > > ERROR: "__compiletime_assert_1893" [net/netfilter/nf_conntrack.ko] > undefined! > > Fix this by forcing inlining of total_extension_size(). > > Fixes: b3a5db109e0670d6 ("netfilter: conntrack: use u8 for extension sizes > again") > Signed-off-by: Geert Uytterhoeven I saw this as well when I tried building with "gcc-7 -Og", and came to the same conclusion. Acked-by: Arnd Bergmann With -Og, there were a couple of other instances of BUILD_BUG_ON() failing to see a compile-time constant, presumably as it fails to inline any functions that are not explicitly marked inline. Arnd -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] netfilter: conntrack: Force inlining of build check to prevent build failure
If gcc (e.g. 4.1.2) decides not to inline total_extension_size(), the build will fail with: net/built-in.o: In function `nf_conntrack_init_start': (.text+0x9baf6): undefined reference to `__compiletime_assert_1893' or ERROR: "__compiletime_assert_1893" [net/netfilter/nf_conntrack.ko] undefined! Fix this by forcing inlining of total_extension_size(). Fixes: b3a5db109e0670d6 ("netfilter: conntrack: use u8 for extension sizes again") Signed-off-by: Geert Uytterhoeven--- net/netfilter/nf_conntrack_core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/netfilter/nf_conntrack_core.c b/net/netfilter/nf_conntrack_core.c index f9245dbfe4356da6..3c8f1ed2f5558fe0 100644 --- a/net/netfilter/nf_conntrack_core.c +++ b/net/netfilter/nf_conntrack_core.c @@ -1853,7 +1853,7 @@ EXPORT_SYMBOL_GPL(nf_conntrack_set_hashsize); module_param_call(hashsize, nf_conntrack_set_hashsize, param_get_uint, _conntrack_htable_size, 0600); -static unsigned int total_extension_size(void) +static __always_inline unsigned int total_extension_size(void) { /* remember to add new extensions below */ BUILD_BUG_ON(NF_CT_EXT_NUM > 9); -- 2.7.4 -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html