Hi,

when compiling a kernel with the gold linker (3.7.0-rc6 26d29d06ea0204, 
gcc-4.7 and binutils-2.23 in my case), certain pcpu symbols are 
seemingly errneously copied over from .o files to .ko files, leading to 
a hard warning during depmod:

        gold$ make -j8 LD=gold HOSTLD=gold
        gold$ make modules_install INSTALL_MOD_PATH=/tmp/foo
        [...]
        WARNING: /tmp/foo/lib/modules/3.7.0-rc6-jng6-default+
        /kernel/net/rds/rds_tcp.ko needs unknown symbol
        __pcpu_scope_rds_tcp_stats

This happens with many modules using percpu; looking at things with nm 
reveals:

        gold/net/ipv6$ nm ipv6.o | grep __pcpu_
        0000000000000000 D __pcpu_unique_ipv6_cookie_scratch
        gold/net/ipv6$ nm ipv6.ko | grep __pcpu_
                         U __pcpu_unique_ipv6_cookie_scratch

On the other hand, in a linux tree built with the original ld (ld.bfd), 
things look like:

        bfd$ make -j8
        [...]
        bfd/net/ipv6$ nm ipv6.o | grep pcpu
        0000000000000000 D __pcpu_unique_ipv6_cookie_scratch
        bfd/net/ipv6$ nm ipv6.ko | grep pcpu
        (no result)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to