https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120559
--- Comment #2 from Lucian Raul Silistru <lucian.silistru at gmail dot com> ---
hw_sender.o dasm (end of send_buffer() - see offset 7c); -O2 -flto
-ffat-lto-objects:
0000000000000068 <.LVL17>:
68: 01163423 sd a7,8(a2)
6c: 01062823 sw a6,16(a2)
70: 00f60023 sb a5,0(a2)
74: 00000517 auipc a0,0x0
74: R_RISCV_PCREL_HI20 .LC0
74: R_RISCV_RELAX *ABS*
78: 00050513 mv a0,a0
78: R_RISCV_PCREL_LO12_I .L0
78: R_RISCV_RELAX *ABS*
000000000000007c <.LVL18>:
7c: e432 sd a2,8(sp)
000000000000007e <.LBB27>:
7e: 00c33423 sd a2,8(t1)
0000000000000082 <.LBE27>:
82: 00000097 auipc ra,0x0
82: R_RISCV_CALL_PLT printf
82: R_RISCV_RELAX *ABS*
86: 000080e7 jalr ra # 82 <.LBE27>
000000000000008a <.LVL20>:
8a: 002c addi a1,sp,8
8c: 8522 mv a0,s0
8e: 00000097 auipc ra,0x0
8e: R_RISCV_CALL_PLT write_to_hw
8e: R_RISCV_RELAX *ABS*
92: 000080e7 jalr ra # 8e <.LVL20+0x4>