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 Thu, Mar 24, 2011 at 6:21 PM, David Rientjes <rientjes@xxxxxxxxxx> wrote:
> 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

You can find basic cross compilers for a variety of architectures
already built here:

http://www.kernel.org/pub/tools/crosstool/

josh
--
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