From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 716ACC43470 for ; Mon, 10 May 2021 12:50:31 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 39A95610F8 for ; Mon, 10 May 2021 12:50:31 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1349534AbhEJMtn (ORCPT ); Mon, 10 May 2021 08:49:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53710 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234249AbhEJLjP (ORCPT ); Mon, 10 May 2021 07:39:15 -0400 Received: from sipsolutions.net (s3.sipsolutions.net [IPv6:2a01:4f8:191:4433::2]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A2C87C06138B; Mon, 10 May 2021 04:38:01 -0700 (PDT) Received: by sipsolutions.net with esmtpsa (TLS1.3:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim 4.94.2) (envelope-from ) id 1lg4EU-006y0Y-BN; Mon, 10 May 2021 13:37:54 +0200 Message-ID: <2a46ca787df9a44c8b4fbc17ab6b69247ab38400.camel@sipsolutions.net> Subject: Re: [PATCH v2] init/gcov: allow CONFIG_CONSTRUCTORS on UML to fix module gcov From: Johannes Berg To: Lambert , Peter Oberparleiter Cc: Andrew Morton , linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org, Arnd Bergmann , Jessica Yu , linux-um@lists.infradead.org, "Lambert." Date: Mon, 10 May 2021 13:37:53 +0200 In-Reply-To: References: <20210120172041.c246a2cac2fb.I1358f584b76f1898373adfed77f4462c8705b736@changeid> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.38.4 (3.38.4-1.fc33) MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-malware-bazaar: not-scanned Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, > Hi Johannes and Peter, sorry to bother but I have one question > on this change. The do_ctors() won’t be executed for UML > because *the constructors have already been called for ELF*. > > *__ctors_start* and *__ctors_end* symbols. See link: > https://elixir.bootlin.com/linux/v5.12.2/source/include/asm-generic/vmlinux.lds.h#L676 > > In my environment, UML+GCC 10, I can't find __gcov_init executed > before kernel starts. So I did some trace and found glibc > __libc_csu_init > will only execute constructors between *__init_array_start*and > *__init_array_end*. > Which means if do_ctors() is not executed for UML, no elsewhere will > the constructors be executed. > > Shall we remove the *!defined(CONFIG_UML)* for GCC, or I just missed > some steps to make the GCOV work for UML? No, that doesn't seem like the right solution. Perhaps then with that toolchain (or configuration thereof) we need to provide __init_array_start/end labels? Or ... maybe that actually just needs to be removed, so that the toolchain gets to choose? Hmm. Pretty sure it worked for me, I think also with gcc 10, but not sure exactly where I tested. johannes From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from s3.sipsolutions.net ([2a01:4f8:191:4433::2] helo=sipsolutions.net) by bombadil.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lg4Ei-008d1W-CM for linux-um@lists.infradead.org; Mon, 10 May 2021 11:38:11 +0000 Message-ID: <2a46ca787df9a44c8b4fbc17ab6b69247ab38400.camel@sipsolutions.net> Subject: Re: [PATCH v2] init/gcov: allow CONFIG_CONSTRUCTORS on UML to fix module gcov From: Johannes Berg Date: Mon, 10 May 2021 13:37:53 +0200 In-Reply-To: References: <20210120172041.c246a2cac2fb.I1358f584b76f1898373adfed77f4462c8705b736@changeid> MIME-Version: 1.0 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-um" Errors-To: linux-um-bounces+geert=linux-m68k.org@lists.infradead.org To: Lambert , Peter Oberparleiter Cc: Andrew Morton , linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org, Arnd Bergmann , Jessica Yu , linux-um@lists.infradead.org, "Lambert." SGksCgo+IEhpIEpvaGFubmVzIGFuZCBQZXRlciwgc29ycnkgdG8gYm90aGVyIGJ1dCBJIGhhdmUg b25lIHF1ZXN0aW9uIAo+IG9uIHRoaXMgY2hhbmdlLiBUaGUgZG9fY3RvcnMoKSB3b27igJl0IGJl IGV4ZWN1dGVkIGZvciBVTUwgCj4gYmVjYXVzZSAgKnRoZSBjb25zdHJ1Y3RvcnMgaGF2ZSBhbHJl YWR5IGJlZW4gY2FsbGVkIGZvciBFTEYqLiAKPiAKPiAqX19jdG9yc19zdGFydCogIGFuZCAgKl9f Y3RvcnNfZW5kKiBzeW1ib2xzLiBTZWUgbGluazoKPiBodHRwczovL2VsaXhpci5ib290bGluLmNv bS9saW51eC92NS4xMi4yL3NvdXJjZS9pbmNsdWRlL2FzbS1nZW5lcmljL3ZtbGludXgubGRzLmgj TDY3Ngo+IAo+IEluIG15IGVudmlyb25tZW50LCBVTUwrR0NDIDEwLCBJIGNhbid0IGZpbmQgX19n Y292X2luaXQgZXhlY3V0ZWQgCj4gYmVmb3JlIGtlcm5lbCBzdGFydHMuIFNvIEkgZGlkIHNvbWUg dHJhY2UgYW5kIGZvdW5kIGdsaWJjCj4gX19saWJjX2NzdV9pbml0IAo+IHdpbGwgb25seSBleGVj dXRlIGNvbnN0cnVjdG9ycyBiZXR3ZWVuICpfX2luaXRfYXJyYXlfc3RhcnQqYW5kCj4gKl9faW5p dF9hcnJheV9lbmQqLiAgCj4gV2hpY2ggbWVhbnMgaWYgZG9fY3RvcnMoKSBpcyBub3QgZXhlY3V0 ZWQgZm9yIFVNTCwgbm8gZWxzZXdoZXJlIHdpbGwgCj4gdGhlIGNvbnN0cnVjdG9ycyBiZSBleGVj dXRlZC4KPiAKPiBTaGFsbCB3ZSByZW1vdmUgdGhlICohZGVmaW5lZChDT05GSUdfVU1MKSogZm9y IEdDQywgb3IgSSBqdXN0IG1pc3NlZCAKPiBzb21lIHN0ZXBzIHRvIG1ha2UgdGhlIEdDT1Ygd29y ayBmb3IgVU1MPyAKCk5vLCB0aGF0IGRvZXNuJ3Qgc2VlbSBsaWtlIHRoZSByaWdodCBzb2x1dGlv bi4KClBlcmhhcHMgdGhlbiB3aXRoIHRoYXQgdG9vbGNoYWluIChvciBjb25maWd1cmF0aW9uIHRo ZXJlb2YpIHdlIG5lZWQgdG8KcHJvdmlkZSBfX2luaXRfYXJyYXlfc3RhcnQvZW5kIGxhYmVscz8K Ck9yIC4uLiBtYXliZSB0aGF0IGFjdHVhbGx5IGp1c3QgbmVlZHMgdG8gYmUgcmVtb3ZlZCwgc28g dGhhdCB0aGUKdG9vbGNoYWluIGdldHMgdG8gY2hvb3NlPwoKSG1tLiBQcmV0dHkgc3VyZSBpdCB3 b3JrZWQgZm9yIG1lLCBJIHRoaW5rIGFsc28gd2l0aCBnY2MgMTAsIGJ1dCBub3QKc3VyZSBleGFj dGx5IHdoZXJlIEkgdGVzdGVkLgoKam9oYW5uZXMKCgoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KbGludXgtdW0gbWFpbGluZyBsaXN0CmxpbnV4LXVtQGxp c3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0 aW5mby9saW51eC11bQo=