Re: Link breakage on all architectures which implement their own show_mem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 23 Mar 2011, James Bottomley wrote:

> This is the problem a lot of architectures will see:
> 
> Specifically this:
>   LD      vmlinux.o
> lib/lib.a(show_mem.o): In function `show_mem':
> (.text.show_mem+0x0): multiple definition of `show_mem'
> arch/parisc/mm/built-in.o:(.text.show_mem+0x0): first defined here
> make: *** [vmlinux.o] Error 1
> 
> Caused by this patch:
> 
> commit ddd588b5dd55f14320379961e47683db4e4c1d90
> Author: David Rientjes <rientjes@xxxxxxxxxx>
> Date:   Tue Mar 22 16:30:46 2011 -0700
> 
>     oom: suppress nodes that are not allowed from meminfo on oom kill
> 
> Is the cause.  What it does is introduce a new __show_mem() which is
> required by files in mm/, so the object containing it: show_mem.o gets
> pulled in all the time in the link and that gives every architecture
> that implements their own show_mem() a link failure because of the
> double definition.  Library linking works at the file level, not at the
> function level.  To work, you have to put these functions in separate
> files.
> 

Thanks for the report, James.

This was also reported by Stephen on LKML when he merged the latest Linus 
tree into linux-next.  Andrew suggested that we remove __show_mem() 
entirely and simply add its argument to show_mem() in all the 
architectures.  I have a patch at:

	http://marc.info/?l=linux-kernel&m=130100511521954

I don't have a parisc cross compiler, so if you could try it out and add 
your Tested-by that would be great

Thanks again!
--
To unsubscribe from this list: send the line "unsubscribe linux-arch" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel]     [Kernel Newbies]     [x86 Platform Driver]     [Netdev]     [Linux Wireless]     [Netfilter]     [Bugtraq]     [Linux Filesystems]     [Yosemite Discussion]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux