<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/74771>74771</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            lld provide - provides more symbols than needed
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            lld
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          shankarke
      </td>
    </tr>
</table>

<pre>
    `
cat > 1.c << \!
int foo = 10;
!

cat > script.t << \!
SECTIONS {
  PROVIDE(f4 = 0x1000);
  PROVIDE(f3 = f4);
  PROVIDE(f2 = f3);
  PROVIDE(f2 = f3);
  PROVIDE(f1 = f2);
  PROVIDE(foo = f1);
}
!

clang -target riscv32 -c 1.c
ld.lld  1.o -T script.t
`
$ ld.lld --version
LLD 18.0.0 (compatible with GNU linkers)

$llvm-readelf -s a.out
Symbol table '.symtab' contains 10 entries:
   Num:    Value  Size Type    Bind   Vis      Ndx Name
 0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND
     1: 00000000     0 FILE LOCAL  DEFAULT  ABS 1.c
     2: 00000000     0 NOTYPE  LOCAL  DEFAULT 2 $d.0
     3: 00000000     0 NOTYPE  LOCAL  DEFAULT    3 $d.1
     4: 00000000     0 NOTYPE  LOCAL  DEFAULT  ABS $d.2
     5: 00000000     4 OBJECT  GLOBAL DEFAULT    2 foo
     6: 00001000     0 NOTYPE  GLOBAL DEFAULT  ABS f4
     7: 00001000     0 NOTYPE  GLOBAL DEFAULT  ABS f3
 8: 00001000     0 NOTYPE  GLOBAL DEFAULT  ABS f2
     9: 00001000     0 NOTYPE  GLOBAL DEFAULT  ABS f1

Is this is a known issue why GNU linker script PROVIDE directive works this way with lld ?

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJycVUmP4jgU_jXO5SmRl0DCIQfWVo0QtAaqpTk6sQMenBjZBpr59aMsVKemqqShcyHK-7Y89DncOXWopczQaIZGi4Bf_NHYzB15feL2JIPciHuGxhjhBcLTgntAbAkkKgCxOWJzQKM5oqQbq9pDaQwgtgCCEZt1j9_m70VcYdXZR_4zpd1yvn_ZbnaAkl4E4Puf2x8viyWiaRm3FvgnwRgjOnlzegdiLaiMvwTQDsB-H0A6AP0S0C-jJEMEShafL0bz-gCh5_YgPVjliiujEBbNujuEFpHWAoBEBsL92wZ7kce_hGgMPTIMr9I6Zepusl4vgKQRjjAgmhamOnOvci3hpvwRvm1eQav6JK1r4g6SIRprfa1CK7mQuoTQAY_MpTfe3avcaPC8UUI0idy98jxHNIHC1J6r2gHBIGtvlXSITR-Lgs2lQqy5gR9cXyTATv0jYX8_y-bZTNWiGSkH7bURP2HDK9nTcUPF_dUCMGy2-7--LwHW2_l0DbBYrqav6z3A62bxZgpAPmGuXtbLD7TpbPdr-S2Q_n9TCojGIsIDNnsiMgDrBMhAIH5CoAnfCtCBwOiDQAzb2R_L-R7g23o7m66HCWhT5wF7_GCTj_b_ZTf2ZTwgJ8-SWU9OnyUOX3jyLPldJV8c-KNyoBxwONXmVoNy7iLhdrwP-tI38dF8EMrKwqurhJuxp17jxu9dz5piIrbqHAKRMTFhEx7IjCSYTNIxYzg4ZqOkzAsS43zMecqxKMYpLnE8LotJIrGQgcoopoxQnFAySkc4EnHCciHHROQ4TmWJYiwrrnTUdDcy9hC02bMkThISaJ5L7dqDn1KtBaK0-QLYrG16fjk4FGOtnHe_-F55LbMm_9maqxISwsedg8pYCa49C5o35jXUUgopgovV2dH7c1t9ukJ0dVD-eMmjwlSIrhr1_ic8W_O3LDyiqzaqQ3TVpv03AAD__5BZv9U">