Messages in this thread | | | Date | Fri, 19 Mar 2021 16:56:30 +0100 | From | Peter Zijlstra <> | Subject | Re: [PATCH v2 14/14] objtool,x86: Rewrite retpoline thunk calls |
| |
On Fri, Mar 19, 2021 at 10:30:26AM -0500, Josh Poimboeuf wrote: > On Fri, Mar 19, 2021 at 09:06:44AM +0100, Peter Zijlstra wrote: > > > Also doesn't the alternative code already insert nops? > > > > Problem is that the {call,jmp} *%\reg thing is not fixed length. They're > > 2 or 3 bytes depending on which register is picked. > > Why do they need to be fixed length? Objtool can use sym->len as the > alternative replacement length. Then alternatives can add nops as > needed.
UNDEF has size 0. That is, unless these symbols exist in the translation unit (they do not) we have no clue.
Arguably I could parse the symbol name again and then we know the register number and thus if we need REX etc.. but I figured we wanted to avoid all that.
| |