Project

General

Profile

Actions

Bug #13429

closed

nge: multiply-defined symbols

Added by Toomas Soome almost 3 years ago. Updated over 2 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
driver - device drivers
Start date:
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:
Gerrit CR:
External Bug:

Description

Build errors with gcc 10:

    ld: fatal: symbol 'nge_uni_addr0' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_atomic.o type=OBJT);
    ld: fatal: symbol 'nge_mul_addr0' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_atomic.o type=OBJT);
    ld: fatal: symbol 'nge_mul_mask0' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_atomic.o type=OBJT);
    ld: fatal: symbol 'nge_mul_mask1' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_atomic.o type=OBJT);
    ld: fatal: symbol 'nge_tx_pcnt' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_atomic.o type=OBJT);
    ld: fatal: symbol 'nge_rx_pcnt' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_atomic.o type=OBJT);
    ld: fatal: symbol 'nge_tx_cur_addr' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_atomic.o type=OBJT);
    ld: fatal: symbol 'nge_rx_cur_addr' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_atomic.o type=OBJT);
    ld: fatal: symbol 'nge_tx_cur_prd0' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_atomic.o type=OBJT);
    ld: fatal: symbol 'nge_tx_cur_prd1' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_atomic.o type=OBJT);
    ld: fatal: symbol 'nge_rx_cur_prd0' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_atomic.o type=OBJT);
    ld: fatal: symbol 'nge_tx_nxt_dadr' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_atomic.o type=OBJT);
    ld: fatal: symbol 'nge_rx_nxt_dadr' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_atomic.o type=OBJT);
    ld: fatal: symbol 'nge_uni_addr0' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_chip.o type=OBJT);
    ld: fatal: symbol 'nge_mul_addr0' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_chip.o type=OBJT);
    ld: fatal: symbol 'nge_mul_mask0' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_chip.o type=OBJT);
    ld: fatal: symbol 'nge_mul_mask1' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_chip.o type=OBJT);
    ld: fatal: symbol 'nge_tx_pcnt' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_chip.o type=OBJT);
    ld: fatal: symbol 'nge_rx_pcnt' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_chip.o type=OBJT);
    ld: fatal: symbol 'nge_tx_cur_addr' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_chip.o type=OBJT);
    ld: fatal: symbol 'nge_rx_cur_addr' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_chip.o type=OBJT);
    ld: fatal: symbol 'nge_tx_cur_prd0' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_chip.o type=OBJT);
    ld: fatal: symbol 'nge_tx_cur_prd1' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_chip.o type=OBJT);
    ld: fatal: symbol 'nge_rx_cur_prd0' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_chip.o type=OBJT);
    ld: fatal: symbol 'nge_tx_nxt_dadr' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_chip.o type=OBJT);
    ld: fatal: symbol 'nge_rx_nxt_dadr' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_chip.o type=OBJT);
    ld: fatal: symbol 'nge_uni_addr0' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_ndd.o type=OBJT);
    ld: fatal: symbol 'nge_mul_addr0' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_ndd.o type=OBJT);
    ld: fatal: symbol 'nge_mul_mask0' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_ndd.o type=OBJT);
    ld: fatal: symbol 'nge_mul_mask1' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_ndd.o type=OBJT);
    ld: fatal: symbol 'nge_tx_pcnt' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_ndd.o type=OBJT);
    ld: fatal: symbol 'nge_rx_pcnt' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_ndd.o type=OBJT);
    ld: fatal: symbol 'nge_tx_cur_addr' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_ndd.o type=OBJT);
    ld: fatal: symbol 'nge_rx_cur_addr' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_ndd.o type=OBJT);
    ld: fatal: symbol 'nge_tx_cur_prd0' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_ndd.o type=OBJT);
    ld: fatal: symbol 'nge_tx_cur_prd1' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_ndd.o type=OBJT);
    ld: fatal: symbol 'nge_rx_cur_prd0' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_ndd.o type=OBJT);
    ld: fatal: symbol 'nge_tx_nxt_dadr' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_ndd.o type=OBJT);
    ld: fatal: symbol 'nge_rx_nxt_dadr' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_ndd.o type=OBJT);
    ld: fatal: symbol 'nge_uni_addr0' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_kstats.o type=OBJT);
    ld: fatal: symbol 'nge_mul_addr0' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_kstats.o type=OBJT);
    ld: fatal: symbol 'nge_mul_mask0' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_kstats.o type=OBJT);
    ld: fatal: symbol 'nge_mul_mask1' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_kstats.o type=OBJT);
    ld: fatal: symbol 'nge_tx_pcnt' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_kstats.o type=OBJT);
    ld: fatal: symbol 'nge_rx_pcnt' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_kstats.o type=OBJT);
    ld: fatal: symbol 'nge_tx_cur_addr' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_kstats.o type=OBJT);
    ld: fatal: symbol 'nge_rx_cur_addr' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_kstats.o type=OBJT);
    ld: fatal: symbol 'nge_tx_cur_prd0' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_kstats.o type=OBJT);
    ld: fatal: symbol 'nge_tx_cur_prd1' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_kstats.o type=OBJT);
    ld: fatal: symbol 'nge_rx_cur_prd0' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_kstats.o type=OBJT);
    ld: fatal: symbol 'nge_tx_nxt_dadr' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_kstats.o type=OBJT);
    ld: fatal: symbol 'nge_rx_nxt_dadr' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_kstats.o type=OBJT);
    ld: fatal: symbol 'nge_uni_addr0' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_log.o type=OBJT);
    ld: fatal: symbol 'nge_mul_addr0' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_log.o type=OBJT);
    ld: fatal: symbol 'nge_mul_mask0' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_log.o type=OBJT);
    ld: fatal: symbol 'nge_mul_mask1' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_log.o type=OBJT);
    ld: fatal: symbol 'nge_tx_pcnt' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_log.o type=OBJT);
    ld: fatal: symbol 'nge_rx_pcnt' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_log.o type=OBJT);
    ld: fatal: symbol 'nge_tx_cur_addr' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_log.o type=OBJT);
    ld: fatal: symbol 'nge_rx_cur_addr' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_log.o type=OBJT);
    ld: fatal: symbol 'nge_tx_cur_prd0' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_log.o type=OBJT);
    ld: fatal: symbol 'nge_tx_cur_prd1' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_log.o type=OBJT);
    ld: fatal: symbol 'nge_rx_cur_prd0' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_log.o type=OBJT);
    ld: fatal: symbol 'nge_tx_nxt_dadr' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_log.o type=OBJT);
    ld: fatal: symbol 'nge_rx_nxt_dadr' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_log.o type=OBJT);
    ld: fatal: symbol 'nge_uni_addr0' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_rx.o type=OBJT);
    ld: fatal: symbol 'nge_mul_addr0' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_rx.o type=OBJT);
    ld: fatal: symbol 'nge_mul_mask0' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_rx.o type=OBJT);
    ld: fatal: symbol 'nge_mul_mask1' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_rx.o type=OBJT);
    ld: fatal: symbol 'nge_tx_pcnt' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_rx.o type=OBJT);
    ld: fatal: symbol 'nge_rx_pcnt' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_rx.o type=OBJT);
    ld: fatal: symbol 'nge_tx_cur_addr' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_rx.o type=OBJT);
    ld: fatal: symbol 'nge_rx_cur_addr' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_rx.o type=OBJT);
    ld: fatal: symbol 'nge_tx_cur_prd0' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_rx.o type=OBJT);
    ld: fatal: symbol 'nge_tx_cur_prd1' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_rx.o type=OBJT);
    ld: fatal: symbol 'nge_rx_cur_prd0' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_rx.o type=OBJT);
    ld: fatal: symbol 'nge_tx_nxt_dadr' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_rx.o type=OBJT);
    ld: fatal: symbol 'nge_rx_nxt_dadr' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_rx.o type=OBJT);
    ld: fatal: symbol 'nge_uni_addr0' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_tx.o type=OBJT);
    ld: fatal: symbol 'nge_mul_addr0' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_tx.o type=OBJT);
    ld: fatal: symbol 'nge_mul_mask0' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_tx.o type=OBJT);
    ld: fatal: symbol 'nge_mul_mask1' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_tx.o type=OBJT);
    ld: fatal: symbol 'nge_tx_pcnt' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_tx.o type=OBJT);
    ld: fatal: symbol 'nge_rx_pcnt' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_tx.o type=OBJT);
    ld: fatal: symbol 'nge_tx_cur_addr' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_tx.o type=OBJT);
    ld: fatal: symbol 'nge_rx_cur_addr' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_tx.o type=OBJT);
    ld: fatal: symbol 'nge_tx_cur_prd0' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_tx.o type=OBJT);
    ld: fatal: symbol 'nge_tx_cur_prd1' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_tx.o type=OBJT);
    ld: fatal: symbol 'nge_rx_cur_prd0' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_tx.o type=OBJT);
    ld: fatal: symbol 'nge_tx_nxt_dadr' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_tx.o type=OBJT);
    ld: fatal: symbol 'nge_rx_nxt_dadr' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_tx.o type=OBJT);
    ld: fatal: symbol 'nge_uni_addr0' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_xmii.o type=OBJT);
    ld: fatal: symbol 'nge_mul_addr0' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_xmii.o type=OBJT);
    ld: fatal: symbol 'nge_mul_mask0' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_xmii.o type=OBJT);
    ld: fatal: symbol 'nge_mul_mask1' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_xmii.o type=OBJT);
    ld: fatal: symbol 'nge_tx_pcnt' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_xmii.o type=OBJT);
    ld: fatal: symbol 'nge_rx_pcnt' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_xmii.o type=OBJT);
    ld: fatal: symbol 'nge_tx_cur_addr' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_xmii.o type=OBJT);
    ld: fatal: symbol 'nge_rx_cur_addr' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_xmii.o type=OBJT);
    ld: fatal: symbol 'nge_tx_cur_prd0' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_xmii.o type=OBJT);
    ld: fatal: symbol 'nge_tx_cur_prd1' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_xmii.o type=OBJT);
    ld: fatal: symbol 'nge_rx_cur_prd0' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_xmii.o type=OBJT);
    ld: fatal: symbol 'nge_tx_nxt_dadr' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_xmii.o type=OBJT);
    ld: fatal: symbol 'nge_rx_nxt_dadr' is multiply-defined:
            (file obj64/nge_main.o type=OBJT; file obj64/nge_xmii.o type=OBJT);
    ld: fatal: file processing errors. No output written to obj64/nge

Testing done: build/install/boot.

Actions #1

Updated by Electric Monk almost 3 years ago

  • Gerrit CR set to 1149
Actions #2

Updated by Toomas Soome over 2 years ago

  • Description updated (diff)
Actions #3

Updated by Electric Monk over 2 years ago

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

git commit 9868091de5a69073a55e3b8cc1a378cac9220edf

commit  9868091de5a69073a55e3b8cc1a378cac9220edf
Author: Toomas Soome <tsoome@me.com>
Date:   2021-01-26T19:21:49.000Z

    13429 nge: multiply-defined symbols
    Reviewed by: Igor Kozhukhov <igor@dilos.org>
    Approved by: Dan McDonald <danmcd@joyent.com>

Actions

Also available in: Atom PDF