On Mon, Jan 15, 2018 at 05:44:30PM +0100, Peter Zijlstra wrote: > Unlike the jump_label bits, static_cpu_has is implemented with > alternatives. Sadly it doesn't readily distinguish itself from any > other alternatives. > > Use a heuristic to guess at it :/ > > But like jump_labels, make static_cpu_has set br_static on the > instructions after the static branch such that we can assert on it.
This seems a bit heavy handed and fragile, though maybe it is the best way. Still I wonder if there's a better way to do it. Some quick ideas: a) Somehow use __jump_table in the _static_cpu_has() macro? b) Add another special annotation to tell objtool where _static_cpu_has() locations are? May need to ruminate on this one a bit... -- Josh

