lkml.org 
[lkml]   [2012]   [Nov]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subjectpercpu section failure with Gold linker
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)


\
 
 \ /
  Last update: 2012-11-23 22:21    [W:0.045 / U:0.088 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site