[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 3/3] objtool: Support stack layout changes in alternatives
On Thu, Jan 07, 2021 at 02:22:27PM +0100, Miroslav Benes wrote: > On Tue, 22 Dec 2020, Josh Poimboeuf wrote: > > > BTW, another benefit of these changes is that, thanks to some related > > cleanups (new fake nops and alt_group struct) objtool can finally be rid > > of fake jumps, which were a constant source of headaches. > > \o/ > > You may also want to remove/edit the comment right before > handle_group_alt() now that fake jumps are gone. > > Anyway, I walked through the patch (set) and I think it should work fine > (but I am not confident enough to give it Reviewed-by. My head spins :)). > I even like the change. > > Also, 1/3 is a benefit on its own, so if nothing else, it could go in. Thanks for the review! That comment is indeed now obsolete. I can squash something like so: diff --git a/tools/objtool/check.c b/tools/objtool/check.c index 81d56fdef1c3..ce67437aaf3f 100644 --- a/tools/objtool/check.c +++ b/tools/objtool/check.c @@ -958,21 +958,8 @@ static int add_call_destinations(struct objtool_file *file) } /* - * The .alternatives section requires some extra special care, over and above - * what other special sections require: - * - * 1. Because alternatives are patched in-place, we need to insert a fake jump - * instruction at the end so that validate_branch() skips all the original - * replaced instructions when validating the new instruction path. - * - * 2. An added wrinkle is that the new instruction length might be zero. In - * that case the old instructions are replaced with noops. We simulate that - * by creating a fake jump as the only new instruction. - * - * 3. In some cases, the alternative section includes an instruction which - * conditionally jumps to the _end_ of the entry. We have to modify these - * jumps' destinations to point back to .text rather than the end of the - * entry in .altinstr_replacement. + * The .alternatives section requires some extra special care over and above + * other special sections because alternatives are patched in place. */ static int handle_group_alt(struct objtool_file *file, struct special_alt *special_alt,
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |