From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1031459AbeCSUbi (ORCPT ); Mon, 19 Mar 2018 16:31:38 -0400 Received: from mail-pf0-f195.google.com ([209.85.192.195]:42065 "EHLO mail-pf0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1030696AbeCSUbc (ORCPT ); Mon, 19 Mar 2018 16:31:32 -0400 X-Google-Smtp-Source: AG47ELswHBQLlo3h28hEajylNN0xYE/LFSnebcY+sjjC6Cdwr4Sk3bvBuIRoffvcArgZqfo48rhWdQ== Date: Mon, 19 Mar 2018 13:31:30 -0700 From: Matthias Kaehlcke To: Josh Poimboeuf Cc: Ingo Molnar , linux-kernel@vger.kernel.org, torvalds@linux-foundation.org, peterz@infradead.org, hpa@zytor.com, tglx@linutronix.de Subject: Re: [PATCH 2/2] x86/unwind: Make CONFIG_UNWINDER_ORC=y the default in kconfig for 64-bit Message-ID: <20180319203130.GE37438@google.com> References: <20171013052544.euk7yawni47lhmdq@gmail.com> <9b1237bbe7244ed9cdf8db2dcb1253e37e1c341e.1507924831.git.jpoimboe@redhat.com> <20180319185732.GD37438@google.com> <20180319192910.wfbi656bxkrlurgf@treble> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="FL5UXtIhxfXey3p5" Content-Disposition: inline In-Reply-To: <20180319192910.wfbi656bxkrlurgf@treble> User-Agent: Mutt/1.9.2 (2017-12-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --FL5UXtIhxfXey3p5 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline 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 > > > Signed-off-by: Josh Poimboeuf > > > --- > > > > 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. --FL5UXtIhxfXey3p5 Content-Type: application/x-object Content-Disposition: attachment; filename="dvo_ch7017.o" Content-Transfer-Encoding: base64 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 AAAAAAAACwAAAA0AAABgAAAAAAAAAL0AAAAAAAAACwAAAA4AAAAVAAAAAAAAAMkAAAAAAAAA CwAAAA4AAABIAAAAAAAAANMAAAAAAAAAAgAAABMAAAD8/////////+kAAAAAAAAACwAAAA4A AAAVAAAAAAAAAPUAAAAAAAAACwAAAA4AAAAYAAAAAAAAAP8AAAAAAAAAAgAAABMAAAD8//// /////wcBAAAAAAAAAgAAABQAAAD8/////////ykBAAAAAAAAAgAAABUAAAD8/////////5sB AAAAAAAAAgAAABIAAAD8/////////8sBAAAAAAAAAgAAABIAAAD8/////////xECAAAAAAAA AgAAABIAAAD8/////////xsCAAAAAAAAAgAAABYAAAD8/////////zsCAAAAAAAAAgAAABUA AAD8/////////4wCAAAAAAAACwAAAA4AAAAVAAAAAAAAAJgCAAAAAAAACwAAAA4AAABkAAAA AAAAAJ8CAAAAAAAAAgAAABMAAAD8/////////1UDAAAAAAAAAgAAABIAAAD8/////////4UD AAAAAAAAAgAAABIAAAD8/////////70DAAAAAAAAAgAAABIAAAD8/////////8cDAAAAAAAA AgAAABYAAAD8//////////oDAAAAAAAAAgAAABIAAAD8/////////y0EAAAAAAAAAgAAABIA AAD8/////////2MEAAAAAAAAAgAAABIAAAD8/////////5YEAAAAAAAAAgAAABIAAAD8//// /////8wEAAAAAAAAAgAAABIAAAD8/////////wIFAAAAAAAAAgAAABIAAAD8/////////zgF AAAAAAAAAgAAABIAAAD8/////////24FAAAAAAAAAgAAABIAAAD8/////////6EFAAAAAAAA AgAAABIAAAD8/////////6gFAAAAAAAACwAAAA4AAAAVAAAAAAAAALQFAAAAAAAACwAAAA4A AACDAAAAAAAAALsFAAAAAAAAAgAAABMAAAD8/////////+cFAAAAAAAAAgAAABUAAAD8//// /////2AGAAAAAAAAAgAAABIAAAD8/////////4IGAAAAAAAAAgAAABUAAAD8/////////54G AAAAAAAAAgAAABQAAAD8/////////x0HAAAAAAAAAgAAABIAAAD8/////////ykHAAAAAAAA CwAAAA4AAAAVAAAAAAAAADUHAAAAAAAACwAAAA4AAAChAAAAAAAAADwHAAAAAAAAAgAAABMA AAD8/////////3oHAAAAAAAAAgAAABIAAAD8/////////4YHAAAAAAAACwAAAA4AAAAVAAAA AAAAAJIHAAAAAAAACwAAAA4AAADNAAAAAAAAAJkHAAAAAAAAAgAAABMAAAD8/////////9cH AAAAAAAAAgAAABIAAAD8/////////+MHAAAAAAAACwAAAA4AAAAVAAAAAAAAAO8HAAAAAAAA CwAAAA4AAAD6AAAAAAAAAPYHAAAAAAAAAgAAABMAAAD8/////////zQIAAAAAAAAAgAAABIA AAD8/////////0AIAAAAAAAACwAAAA4AAAAVAAAAAAAAAEwIAAAAAAAACwAAAA4AAAAkAQAA AAAAAFMIAAAAAAAAAgAAABMAAAD8/////////5EIAAAAAAAAAgAAABIAAAD8/////////50I AAAAAAAACwAAAA4AAAAVAAAAAAAAAKkIAAAAAAAACwAAAA4AAABLAQAAAAAAALAIAAAAAAAA AgAAABMAAAD8/////////+4IAAAAAAAAAgAAABIAAAD8//////////oIAAAAAAAACwAAAA4A AAAVAAAAAAAAAAYJAAAAAAAACwAAAA4AAABuAQAAAAAAAA0JAAAAAAAAAgAAABMAAAD8//// /////0sJAAAAAAAAAgAAABIAAAD8/////////1cJAAAAAAAACwAAAA4AAAAVAAAAAAAAAGMJ AAAAAAAACwAAAA4AAACSAQAAAAAAAGoJAAAAAAAAAgAAABMAAAD8/////////6gJAAAAAAAA AgAAABIAAAD8/////////7QJAAAAAAAACwAAAA4AAAAVAAAAAAAAAMAJAAAAAAAACwAAAA4A AACvAQAAAAAAAMcJAAAAAAAAAgAAABMAAAD8/////////wUKAAAAAAAAAgAAABIAAAD8//// /////xEKAAAAAAAACwAAAA4AAAAVAAAAAAAAAB0KAAAAAAAACwAAAA4AAADMAQAAAAAAACQK AAAAAAAAAgAAABMAAAD8/////////0YKAAAAAAAAAgAAABUAAAD8/////////wAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAQAAAAIAAAAAAAAAAAAAABAAAAAAAAAAAQAAAAIAAAAwAQAAAAAAABgA AAAAAAAAAQAAAAIAAABAAgAAAAAAADAAAAAAAAAAAQAAAAIAAABgAgAAAAAAADgAAAAAAAAA AQAAAAIAAADwBQAAAAAAAEAAAAAAAAAAAQAAAAIAAAAABgAAAAAAAFAAAAAAAAAAAQAAAAIA AACQBgAAAAAAAFgAAAAAAAAAAQAAAAIAAACwBgAAAAAAAGAAAAAAAAAAAQAAAA4AAAAOAAAA AAAAAGgAAAAAAAAAAQAAAA4AAAAHAAAAAAAAAHAAAAAAAAAAAQAAAA4AAAAAAAAAAAAAAGNo NzAxNwBjaDcwMTgAY2g3MDE5AAE3AGNoNzAxeCBub3QgZGV0ZWN0ZWQsIGdvdCAlZDogZnJv bSAlcyBzbGF2ZSAlZC4KACVzIGRldGVjdGVkIG9uICVzLCBhZGRyICVkCgBSZWdpc3RlcnMg YmVmb3JlIG1vZGUgc2V0dGluZwoAUmVnaXN0ZXJzIGFmdGVyIG1vZGUgc2V0dGluZwoAQ0g3 MDE3X0hPUklaT05UQUxfQUNUSVZFX1BJWEVMX0lOUFVUOiAlMDJ4CgBDSDcwMTdfSE9SSVpP TlRBTF9BQ1RJVkVfUElYRUxfT1VUUFVUOiAlMDJ4CgBDSDcwMTdfVkVSVElDQUxfQUNUSVZF X0xJTkVfT1VUUFVUOiAlMDJ4CgBDSDcwMTdfQUNUSVZFX0lOUFVUX0xJTkVfT1VUUFVUOiAl MDJ4CgBDSDcwMTdfTFZEU19QTExfVkNPX0NPTlRST0w6ICUwMngKAENINzAxN19MVkRTX1BM TF9GRUVEQkFDS19ESVY6ICUwMngKAENINzAxN19MVkRTX0NPTlRST0xfMjogJTAyeAoAQ0g3 MDE3X09VVFBVVFNfRU5BQkxFOiAlMDJ4CgBDSDcwMTdfTFZEU19QT1dFUl9ET1dOOiAlMDJ4 CgAAQ2hyb21pdW0gT1MgNi4wX3ByZTMyMTQ5MF9wMjAxODAxMzEtcjkgY2xhbmcgdmVyc2lv biA2LjAuMCAoL3Zhci9jYWNoZS9jaHJvbWVvcy1jYWNoZS9kaXN0ZmlsZXMvaG9zdC9lZ2l0 LXNyYy9jbGFuZy5naXQgN2UwYmY2MTdmYjExMGFkMWUyNDZmN2NiMDllMjBlMjkzZDNiNDI5 ZSkgKC92YXIvY2FjaGUvY2hyb21lb3MtY2FjaGUvZGlzdGZpbGVzL2hvc3QvZWdpdC1zcmMv bGx2bS5naXQgN2U2ZmNjNzc1ZjU2Y2RlZWFlMDYxZjZmODA3MWY1YzEwMzA4NzMzMCkgKGJh c2VkIG9uIExMVk0gNi4wLjBzdm4pAAAuc3ltdGFiAC5zdHJ0YWIALnNoc3RydGFiAC5yZWxh LnRleHQALmRhdGEALmJzcwAucmVsYS5yb2RhdGEALnJvZGF0YS5zdHIxLjEALmNvbW1lbnQA Lm5vdGUuR05VLXN0YWNrAC5vcmNfdW53aW5kX2lwAC5yZWxhLm9yY191bndpbmRfaXAALm9y Y191bndpbmQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAPH/AAAAAAAA AAAAAAAAAAAAAAAAAAADAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAMAAAAAAAAAAAAAAAAA AAAAAAAAAAADAAQAAAAAAAAAAAAAAAAAAAAAAA4AAAACAAEAAAAAAAAAAAAtAQAAAAAAABoA AAACAAEAMAEAAAAAAAAPAQAAAAAAACYAAAACAAEAQAIAAAAAAAASAAAAAAAAADgAAAACAAEA YAIAAAAAAACLAwAAAAAAAEgAAAACAAEAsAYAAAAAAACaAwAAAAAAAFkAAAACAAEA8AUAAAAA AAAGAAAAAAAAAGcAAAACAAEAAAYAAAAAAACGAAAAAAAAAHsAAAACAAEAkAYAAAAAAAAcAAAA AAAAAAAAAAADAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAcAAAAAAAAAAAAAAAAAAAAAAAAA AAADAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAgAAAAAAAAAAAAAAAAAAAAAAIoAAAAQAAAA AAAAAAAAAAAAAAAAAAAAAJQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAKEAAAAQAAAAAAAAAAAA AAAAAAAAAAAAAKwAAAAQAAAAAAAAAAAAAAAAAAAAAAAAALIAAAAQAAAAAAAAAAAAAAAAAAAA AAAAAMMAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAMoAAAARAAUAAAAAAAAAAABgAAAAAAAAAABk dm9fY2g3MDE3LmMAY2g3MDE3X2luaXQAY2g3MDE3X2RwbXMAY2g3MDE3X21vZGVfdmFsaWQA Y2g3MDE3X21vZGVfc2V0AGNoNzAxN19kdW1wX3JlZ3MAY2g3MDE3X2RldGVjdABjaDcwMTdf Z2V0X2h3X3N0YXRlAGNoNzAxN19kZXN0cm95AF9fa21hbGxvYwBpMmNfdHJhbnNmZXIAZHJt X3ByaW50awBrZnJlZQBfX3N0YWNrX2Noa19mYWlsAG1zbGVlcABjaDcwMTdfb3BzAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAA AgAAAAAAAAAAAAAABAAAAAAAAAACAAAAAgAAAAEAAAAAAAAACAAAAAAAAAACAAAAAgAAAAQA AAAAAAAADAAAAAAAAAACAAAAAgAAACcBAAAAAAAAEAAAAAAAAAACAAAAAgAAACgBAAAAAAAA FAAAAAAAAAACAAAAAgAAAC0BAAAAAAAAGAAAAAAAAAACAAAAAgAAADABAAAAAAAAHAAAAAAA AAACAAAAAgAAADEBAAAAAAAAIAAAAAAAAAACAAAAAgAAADQBAAAAAAAAJAAAAAAAAAACAAAA AgAAADkCAAAAAAAAKAAAAAAAAAACAAAAAgAAADoCAAAAAAAALAAAAAAAAAACAAAAAgAAAD8C AAAAAAAAMAAAAAAAAAACAAAAAgAAAEACAAAAAAAANAAAAAAAAAACAAAAAgAAAFICAAAAAAAA OAAAAAAAAAACAAAAAgAAAGACAAAAAAAAPAAAAAAAAAACAAAAAgAAAGECAAAAAAAAQAAAAAAA AAACAAAAAgAAAGQCAAAAAAAARAAAAAAAAAACAAAAAgAAAOUFAAAAAAAASAAAAAAAAAACAAAA AgAAAOYFAAAAAAAATAAAAAAAAAACAAAAAgAAAOsFAAAAAAAAUAAAAAAAAAACAAAAAgAAAPAF AAAAAAAAVAAAAAAAAAACAAAAAgAAAPYFAAAAAAAAWAAAAAAAAAACAAAAAgAAAAAGAAAAAAAA XAAAAAAAAAACAAAAAgAAAAEGAAAAAAAAYAAAAAAAAAACAAAAAgAAAAQGAAAAAAAAZAAAAAAA AAACAAAAAgAAAIAGAAAAAAAAaAAAAAAAAAACAAAAAgAAAIEGAAAAAAAAbAAAAAAAAAACAAAA AgAAAIYGAAAAAAAAcAAAAAAAAAACAAAAAgAAAJAGAAAAAAAAdAAAAAAAAAACAAAAAgAAAJEG AAAAAAAAeAAAAAAAAAACAAAAAgAAAKsGAAAAAAAAfAAAAAAAAAACAAAAAgAAAKwGAAAAAAAA gAAAAAAAAAACAAAAAgAAALAGAAAAAAAAhAAAAAAAAAACAAAAAgAAALEGAAAAAAAAiAAAAAAA AAACAAAAAgAAALQGAAAAAAAAjAAAAAAAAAACAAAAAgAAAEQKAAAAAAAAkAAAAAAAAAACAAAA AgAAAEUKAAAAAAAAlAAAAAAAAAACAAAAAgAAAEoKAAAAAAAACAAAAAUAEADw/xUAEADw/xQA CAAAAAUAEADw/xQAAAAAAAAACAAAAAUAEADw/xUAEADw/xQACAAAAAUAEADw/xQAAAAAAAAA CAAAAAUAAAAAAAAACAAAAAUAEADw/xUAEADw/xQACAAAAAUAEADw/xQAAAAAAAAACAAAAAUA AAAAAAAACAAAAAUAEADw/xUAEADw/xQACADw/xUAEADw/xQAAAAAAAAACAAAAAUAEAAAAAUA CAAAAAUAAAAAAAAACAAAAAUAEADw/xUAEADw/xQACAAAAAUAEADw/xQAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAgAAAAAQAAAAYAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEoKAAAAAAAAAAAAAAAA AAAQAAAAAAAAAAAAAAAAAAAAGwAAAAQAAABAAAAAAAAAAAAAAAAAAAAAkAoAAAAAAAAgBwAA AAAAAAsAAAABAAAACAAAAAAAAAAYAAAAAAAAACYAAAABAAAAAwAAAAAAAAAAAAAAAAAAALAR AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAsAAAACAAAAAMAAAAAAAAA AAAAAAAAAACwEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAANgAAAAEA AAACAAAAAAAAAAAAAAAAAAAAsBEAAAAAAAB4AAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAA AAAAADEAAAAEAAAAQAAAAAAAAAAAAAAAAAAAACgSAAAAAAAACAEAAAAAAAALAAAABQAAAAgA AAAAAAAAGAAAAAAAAAA+AAAAAQAAADIAAAAAAAAAAAAAAAAAAAAwEwAAAAAAAOoBAAAAAAAA AAAAAAAAAAABAAAAAAAAAAEAAAAAAAAATQAAAAEAAAAwAAAAAAAAAAAAAAAAAAAAGhUAAAAA AAAiAQAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAFYAAAABAAAAAAAAAAAAAAAAAAAA AAAAADwWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAARAAAAAwAAAAAA AAAAAAAAAAAAAAAAAAA8FgAAAAAAAJUAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAA AQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAA2BYAAAAAAABAAgAAAAAAAAwAAAARAAAACAAAAAAA AAAYAAAAAAAAAAkAAAADAAAAAAAAAAAAAAAAAAAAAAAAABgZAAAAAAAA1QAAAAAAAAAAAAAA AAAAAAEAAAAAAAAAAAAAAAAAAABmAAAAAQAAAAIAAAAAAAAAAAAAAAAAAADtGQAAAAAAAJgA AAAAAAAAAAAAAAAAAAABAAAAAAAAAAQAAAAAAAAAdQAAAAQAAABAAAAAAAAAAAAAAAAAAAAA iBoAAAAAAACQAwAAAAAAAAsAAAANAAAACAAAAAAAAAAYAAAAAAAAAIkAAAABAAAAAgAAAAAA AAAAAAAAAAAAABgeAAAAAAAA5AAAAAAAAAAAAAAAAAAAAAEAAAAAAAAABgAAAAAAAAA= --FL5UXtIhxfXey3p5--