Messages in this thread | | | Date | Mon, 19 Mar 2018 13:31:30 -0700 | From | Matthias Kaehlcke <> | Subject | Re: [PATCH 2/2] x86/unwind: Make CONFIG_UNWINDER_ORC=y the default in kconfig for 64-bit |
| |
El Mon, Mar 19, 2018 at 02:29:10PM -0500 Josh Poimboeuf ha dit:
> On Mon, Mar 19, 2018 at 11:57:32AM -0700, Matthias Kaehlcke wrote: > > Hi Josh, > > > > El Fri, Oct 13, 2017 at 03:02:01PM -0500 Josh Poimboeuf ha dit: > > > > > The ORC unwinder has been stable in testing so far. Give it much wider > > > testing by making it the default in kconfig for x86_64. It's not yet > > > supported for 32-bit, so leave frame pointers as the default there. > > > > > > Suggested-by: Ingo Molnar <mingo@kernel.org> > > > Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com> > > > --- > > > > Building an upstream kernel with clang results in plenty of objtool > > warnings like these: > > > > drivers/gpu/drm/i915/dvo_ch7017.o: warning: objtool: ch7017_get_hw_state()+0x80: return with modified stack frame > > CC drivers/gpu/drm/i915/i915_oa_cflgt2.o > > ... > > CC drivers/gpu/drm/i915/intel_lpe_audio.o > > drivers/gpu/drm/i915/i915_gpu_error.o: warning: objtool: i915_error_printf()+0x6c: return with modified stack frame > > drivers/gpu/drm/i915/intel_display.o: warning: objtool: pipe_config_err()+0xa6: return with modified stack frame > > > > Bisecting shows that the warnings are generated since the ORC unwinder > > was made the default. Not sure if the issue is on the unwinder side > > or clang. > > > > Any ideas on what could be the problems? > > Hi Matthias, > > The ORC unwinder relies on objtool, which reverse engineers the compiled > code. This is objtool's first exposure to clang, so I'm not at all > surprised if it's getting confused. > > Send me one of the .o files and I can take a quick look to see how bad > it is, but I'm guessing it's going to be a lot of work to make objtool > compatible with clang (and unfortunately I won't have the bandwidth to > work on that in the near term.) > > In the meantime I'd recommend that you use frame pointers (and > CONFIG_STACK_VALIDATION=n) for clang-compiled kernels.
Thanks for your assessment!
dvo_ch7017.o is attached. [unhandled content-type:application/x-object] | |