<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/121182>121182</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[lld] LLD handles strings and their substrings in .rodata sections differently than the gnu ld linker.
</td>
</tr>
<tr>
<th>Labels</th>
<td>
lld
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
Zhenhang1213
</td>
</tr>
</table>
<pre>
demo:
```
#include <stdio.h>
void func1() {
printf("Hello, World!\n");
}
#include <stdio.h>
void func2() {
printf("123 Hello, World!\n");
}
int main(){
func1();
func2();
return 0;
}
```
clang demo.c -o a.out -fuse-ld=ld
clang demo.c -o a.out -fuse-ld=lld
lld:
···
Contents of section .rodata:
05f8 01000200 48656c6c 6f2c2057 6f726c64 ....Hello, World
0608 210a0031 32332048 656c6c6f 2c20576f !..123 Hello, Wo
0618 726c6421 0a00 rld!..
···
ld:
```
Contents of section .rodata:
07ec 01000200 31323320 48656c6c 6f2c2057 ....123 Hello, W
07fc 6f726c64 210a00 orld!..
```
GNU ld version is 2.41
for the codesize, lld could support this feature?
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyMlE2PIycQhn8NfSkZQdFfPvTBY6-Twyq3KFJuNB9uEgwW0CNtfn2EezbjnUwiI8u2oOot3qdKyJzdJRgzke6FdKdGrmWJafp9MWGR4cKRi2aO-tukzTUScSDsQHr29mEHgsIF5VdtgIhjLtpFuhDxpR6xw2t0GuwaFCc4EtwDGV4IOwAA3JILxd638WfjfSR4hN9i8pogJ90xEESCeyJqAhlOm-CT5fB_y3EU8HxJFwpcpQub5LtiXQ_WtqzHA_zsIJmypgDso68HpMrLcIGKmyrYRZA0rgV2ds1m5zURJ6-firqHEXaof76cycuR7O-ljkhehh--2eEYQzGhZIgWslHFxQA0RS2L3HoOrLMjMM4YQ8agHfuuV72C3qJC1g3Q2wF71bcAlFL6AW_N79kIyJlkTHAQKASydoRNprewyfQWgCCn9EOPNgU-wlYEOVQheHJtHab0v9xXSPrfs_0ElMGodyiCb7Y-oXOH8qOnLd-qd3Ibnc8txEcPD3f86ZdfwWuAV5NyvZ_LgLTlb1PFDjYmKIsBFbXJ7i9TS3uvQcXVa8jr7RZTgbK4DNbIsiZDxLnRk9B7sZeNmfggOhz5wNtmmZhuLZOC9awXSknOR6VnHLVWc79X7dy4CRm2HHFgfcu7lqJV-7ljYha2FVLuScvMVTpPvX-90pgujct5NRNHzkdsvJyNz_e3CLEOLmJ9lNJUw3fzesmkZd7lkt8Fiiv-_nzV-O4EX7-eYJFBe5Mhl-TCJYMMumJwCfI6f990_7Tze3szaGetSSYU_w3KIsMd3iWsFbJ34U-TaLMmPy2l3HKdAjwTPF9cWdaZqngleK4Xe_vZ3VL8w6hC8Hy3mQme35y-Tvh3AAAA__9Sc4Lr">