<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">