On Mon, Jun 24, 2002 at 08:28:23PM +1000, James Morris wrote:
> On Sun, 23 Jun 2002, Rob Radez wrote:
> 
> > Hi,
> > I looked at the pending patches page, tried to browse through the mailing
> > archives, and checked google, but didn't see if anyone had already addressed
> > this.
> 
> See http://marc.theaimsgroup.com/?l=linux-kernel&m=100909932003300&w=2
> 
> >  fini() in net/ipv4/netfilter/ip_nat_snmp_basic.c is marked __exit,
> > but on Sparc32 will fail to link into the kernel because of some btfixup
> > magic.
> 
> Can you please post the build error message and the version of binutils 
> that you're using?

This is slightly different: it's not ld complaining, but btfixup.
(background info: btfixup is a way for one kernel to run on sun4c/sun4d/sun4m
with the kernel determining all the hardware-specific functions to call at
boot time instead of compile time.)  When compiling for smp with the snmp
code builtin, btfixupprep complains "Wrong use of 'smp_processor_id' in
'.text.exit' section.  It can only be used in .text, .fixup and .text.init".
Of all the files that I compiled into the kernel, ip_nat_snmp_basic is the
only one that had this problem, so I figured that while the __exit tag is
correct, it was simplest to just remove it and suffer the miniscule loss of
not being able to free the memory it takes up.

> The purpose of this lock/unlock is to synchronize with net_rx_action().

Perhaps a comment in the code to that effect?

Regards,
Rob Radez

Reply via email to