Date: Tue, 24 May 2011 21:52:46 +0400 From: Malykh Oleg <o.malykh@...s.ru> To: "'owl-users@...ts.openwall.com'" <owl-users@...ts.openwall.com> Subject: RE: Kernel build and bonding Dear Alexander, You right! When I've moved function bond_slave_override above function bond_xmit_roundrobin module compiled without any errors. Thank you very much. Best regards Oleg Malykh IT Support Department JSC "Martin Bauer Management" Phone +7 495 7059376 Fax +7 495 7059373 gsm +7 916 1139938 o.malykh@...s.ru -----Original Message----- From: Solar Designer [mailto:solar@...nwall.com] Sent: Tuesday, May 24, 2011 8:26 AM To: owl-users@...ts.openwall.com Subject: Re: [owl-users] Kernel build and bonding On Tue, May 24, 2011 at 06:27:57AM +0400, Malykh Oleg wrote: > I've tried to build kernel by instruction http://openwall.info/wiki/Owl/kernel-build > When I use traditional Owl kernel config I build kernel without any errors. But I need to make kernel with bonding and when I try to build kernel with this option I meet this error: > > drivers/net/bonding/bond_main.c: In function `bond_xmit_roundrobin': > drivers/net/bonding/bond_main.c:234: sorry, unimplemented: inlining failed in call to 'bond_slave_override': function body not available > drivers/net/bonding/bond_main.c:4479: sorry, unimplemented: called from here Thank you for reporting this in here. This looks like one of those cases where gcc 4 is able to inline functions, but gcc 3.4.5 that we have in Owl is not. We're patching some of those in the -owl kernel patch, but not bonding. However, I've just tried to reproduce the problem, and failed. bonding.ko compiled fine for me. This is 2.6.18-238.9.1.el5.028stab089.1.owl1 with mostly Owl default config (except for CONFIG_BONDING=m), compiling on Owl-current on x86_64. When I try to set CONFIG_BONDING=y, my build fails at linking: LD .tmp_vmlinux1 drivers/built-in.o:(.bss+0x7ea4): multiple definition of `debug' arch/x86_64/kernel/built-in.o:(.kprobes.text+0x10): first defined here ld: Warning: size of symbol `debug' changed from 336 in arch/x86_64/kernel/built-in.o to 4 in drivers/built-in.o make: *** [.tmp_vmlinux1] Error 1 which is a real issue, but is an entirely different one from the one you observed. Are you possibly building for i686? Or a different kernel version? If so, and if you need that, perhaps review the -owl patch for similar issues being patched and edit bond_main.c accordingly. This usually amounts to moving the function body up in the source file (above the first call to the function). Work is underway to update Owl-current to gcc 4.6.0+, which will eliminate these inlining problems. Thanks again, Alexander
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.