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