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>