I have disassembled a C file. At the start of what used to be a function I see
endbr64
push %rax
pop %rax
as the first instructions.
Why is the content of %rax pushed and then popped without any changes to the stack or the register in between? I would expect %rax to be unchanged by that operation.