From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter Oberparleiter Subject: Re: [RFC PATCH 0/4] add support for gcov format introduced in gcc 4.7 Date: Fri, 23 Aug 2013 17:08:07 +0200 Message-ID: <52177AD7.1030709@linux.vnet.ibm.com> References: <1377247176-13537-1-git-send-email-fhrbata@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Return-path: Received: from e06smtp16.uk.ibm.com ([195.75.94.112]:49415 "EHLO e06smtp16.uk.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752926Ab3HWPIN (ORCPT ); Fri, 23 Aug 2013 11:08:13 -0400 Received: from /spool/local by e06smtp16.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Fri, 23 Aug 2013 16:01:30 +0100 In-Reply-To: <1377247176-13537-1-git-send-email-fhrbata@redhat.com> Sender: linux-arch-owner@vger.kernel.org List-ID: To: Frantisek Hrbata Cc: linux-kernel@vger.kernel.org, jstancek@redhat.com, keescook@chromium.org, Christophe Guillon , rusty@rustcorp.com.au, linux-arch@vger.kernel.org, arnd@arndb.de, mgahagan@redhat.com, agospoda@redhat.com On 23.08.2013 10:39, Frantisek Hrbata wrote: > This is an attempt to bring support for modified gcov format in gcc 4.7 to > the kernel. It tries to leverage the existing layout/abstraction, which was > designed keeping in mind that the gcov format could change, but some changes had > to be make. Mostly because the current model does not take into account that > even the core gcov structures, like gcov_info, could change. One part that could > be problematic is the addition of the .init_array section for constructors. It appears that gcc 4.7 support for gcov-kernel is quite important to a number of people, at least that is what I derive from the fact that I now know of 3 people who've been working on this support separately from each other: you, myself (I've been close to posting my own version to LKML) and Christophe Guillon. It's apparent now that I made a mistake delaying the discussion of the effort for too long, but I think your posting the patches opens up a good opportunity to combine the best of all previous efforts. Most of your code looks very familiar. There's one feature missing though that Christophe brought up as a requirement: the ability for gcov-kernel to cope with kernel modules being compiled with GCC versions implementing a different gcov format (apparently this can happen in some embedded setups). Christophe proposed run-time version checking and a file-ops type function table which is chosen based on info->version. I found this approach somewhat intrusive and this would also not have covered the case where a new GCC versions was used to compile kernel modules for which the base kernel has no support. I tried to solve this requirement by combining two changes: 1) make the gcov-format generated by gcov-kernel compile-time configurable 2) separate the gcov-format specific code into a loadable kernel module This way, the gcov-format specific part of gcov-kernel could be replaced when working with a different version GCC. I'll post the corresponding patches as reply in another mail. Back to your patches: I tested them and they work fine on s390x when compiled with GCC 4.3.4 and 4.7.2. I'll provide some more specific comments as replies to your patch-mails. Regards, Peter Oberparleiter -- Peter Oberparleiter Linux on System z Development - IBM Germany