eth_mac_address没找到

目前我不清楚问题的来源。我把我处理的方法发出来。

执行waf run dce-quagga程序发现报告elf-load liblinux.so,找不到eth_mac_address

1 查找到liblinux.so,是由net-next-sim生成的

2 在net-next-sim中找到了eth_mac_address的定义,在net/ethernet/eth.c

3 nm -D liblinux.so | grep eth_mac_address,找到的该函数前面竟然是U,应该表示未定义。

4 试着在eth.c中加入乱代码,编译果然出错。

5 重新make clean

6 make library ARCH=sim

此时查看结果如下

[root@zsc65 net-next-sim-2.6.36]# nm -D libsim-linux2.6.36.so | grep mac
0000000000091620 T dev_set_mac_address
00000000000a2400 T eth_mac_addr
0000000000170540 T sctp_auth_asoc_get_hmac
0000000000170620 T sctp_auth_asoc_set_default_hmac
00000000001705e0 T sctp_auth_asoc_verify_hmac_id
0000000000170700 T sctp_auth_calculate_hmac
0000000000170350 T sctp_auth_destroy_hmacs
0000000000170870 T sctp_auth_ep_set_hmacs
0000000000170520 T sctp_auth_get_hmac
00000000001703a0 T sctp_auth_init_hmacs
00000000000a27b0 T sysfs_format_mac
[root@zsc65 net-next-sim-2.6.36]# make library ARCH=sim

那么T=TEXT,这个就是说明不把该函数当外人了。

你可能感兴趣的:(eth_mac_address没找到)