Messages in this thread | | | Date | Fri, 25 Apr 2008 14:02:07 -0700 (PDT) | Subject | Re: [PATCH 1/1] x86: fix text_poke | From | David Miller <> |
| |
From: "H. Peter Anvin" <hpa@zytor.com> Date: Fri, 25 Apr 2008 13:41:00 -0700
> Yes, that should work. It's still ugly, and I have to say I find the > complexity rather distasteful. I am willing to be convinced it's worth > it, but I would really like to see hard numbers.
This stuff would have been a lot easier if it just worked with normal relocations generated by the assembler, and that would work in such a straightforward way on EVERY architecture.
The immediate instance generators could just use macros that architectures define, which are given a range of legal values for the immediate, and the macro emits the inline asm sequence that can support an immediate value of that range.
Then we do a half-link of the kernel, collect the unresolved relocations from generated by the immediate macros into a table which gets linked into the kernel, then resolve them in the final link all to zero or some defined initial value.
Then it's just a matter of running through the relocation handling we already have for module loading when changing an immediate value.
None of this crazy instruction parsing and branch following crap. I can't believe we're seriously considering this crud. :-/
| |