Project

General

Profile

Bug #13535

snoop: multiply-defined symbols

Added by Toomas Soome about 2 months ago. Updated about 1 month ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
cmd - userland programs
Start date:
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:
Gerrit CR:

Description

Build errors with gcc 10:

    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_aarp.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_adsp.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_aecho.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_apple.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_arp.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_atp.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_bparam.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_bpdu.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_capture.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_dhcp.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_dhcpv6.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_display.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_dns.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_ether.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_filter.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_http.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_icmp.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_igmp.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_ip.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_ipaddr.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_ipsec.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_isis.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_ldap.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_mip.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_mount.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_nbp.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_netbios.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_nfs.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_nfs3.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_nfs4.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_nfs_acl.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_nis.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_nlm.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_ntp.o type=OBJT);
    ld: fatal: symbol 'tokentype' is multiply-defined:
            (file snoop_filter.o type=OBJT; file snoop_pf.o type=OBJT);
    ld: fatal: symbol 'opstack' is multiply-defined:
            (file snoop_filter.o type=OBJT; file snoop_pf.o type=OBJT);
    ld: fatal: symbol 'tokenval' is multiply-defined:
            (file snoop_filter.o type=OBJT; file snoop_pf.o type=OBJT);
    ld: fatal: symbol 'token' is multiply-defined:
            (file snoop_filter.o type=OBJT; file snoop_pf.o type=OBJT);
    ld: fatal: symbol 'dir' is multiply-defined:
            (file snoop_filter.o type=OBJT; file snoop_pf.o type=OBJT);
    ld: fatal: symbol 'eaddr' is multiply-defined:
            (file snoop_filter.o type=OBJT; file snoop_pf.o type=OBJT);
    ld: fatal: symbol 'tkp' is multiply-defined:
            (file snoop_filter.o type=OBJT; file snoop_pf.o type=OBJT);
    ld: fatal: symbol 'sav_tkp' is multiply-defined:
            (file snoop_filter.o type=OBJT; file snoop_pf.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_pf.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_ospf.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_ospf6.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_pmap.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_ppp.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_pppoe.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_rip.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_rip6.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_rpc.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_rpcprint.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_rpcsec.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_rport.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_rquota.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_rstat.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_rtmp.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_sctp.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_slp.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_smb.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_socks.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_solarnet.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_tcp.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_tftp.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_trill.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_udp.o type=OBJT);
    ld: fatal: symbol 'xid_cache' is multiply-defined:
            (file snoop.o type=OBJT; file snoop_zip.o type=OBJT);
    ld: fatal: file processing errors. No output written to snoop

Testing done: build/install/boot

Also run orignal and patched snoop in parallel, and did perform ls -l in nfs client system, the output is identical on both snoop.

#1

Updated by Electric Monk about 2 months ago

  • Gerrit CR set to 1247
#2

Updated by Toomas Soome about 2 months ago

  • Description updated (diff)
#3

Updated by Electric Monk about 1 month ago

  • Status changed from In Progress to Closed
  • % Done changed from 90 to 100

git commit cd93bdd351ff6db57bb306f3135a27aff71919d0

commit  cd93bdd351ff6db57bb306f3135a27aff71919d0
Author: Toomas Soome <tsoome@me.com>
Date:   2021-02-26T17:01:41.000Z

    13535 snoop: multiply-defined symbols
    Reviewed by: Yuri Pankov <yuripv@yuripv.dev>
    Reviewed by: Andy Fiddaman <andy@omniosce.org>
    Approved by: Dan McDonald <danmcd@joyent.com>

Also available in: Atom PDF