I use tail pseudoinstruction to call an external function, and the function is in the range of jalr instruction. But two instructions auipc and jr are generated from this with GCC version 10.2.1. Won't linker relaxation feature replace these two instructions by jr itself? By the way, call pseudoinstruction will be replaced by a single jalr instruction.
My source code:
tail main
Generated instructions from disassembly
174 tail main
000000a2: auipc t1,0x0
000000a6: jr 886(t1) # 0x418 <main>