From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750748AbVJFHQf (ORCPT ); Thu, 6 Oct 2005 03:16:35 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751238AbVJFHQf (ORCPT ); Thu, 6 Oct 2005 03:16:35 -0400 Received: from dsl027-180-168.sfo1.dsl.speakeasy.net ([216.27.180.168]:55992 "EHLO sunset.davemloft.net") by vger.kernel.org with ESMTP id S1750748AbVJFHQf (ORCPT ); Thu, 6 Oct 2005 03:16:35 -0400 Date: Thu, 06 Oct 2005 00:16:33 -0700 (PDT) Message-Id: <20051006.001633.108931223.davem@davemloft.net> To: linux-kernel@vger.kernel.org Subject: non-versioned module symbols From: "David S. Miller" X-Mailer: Mew version 4.2.53 on Emacs 21.4 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Is there a way to get specific module symbols to be non-versioned in current 2.6.x? The case I need it for is _mcount calls generated by the "-pg" option to the build. We can't rewrite the symbol reference using cpp magic since GCC generates this call internally. It was EXPORT_SYMBOL_NOVERS() in 2.4.x, but somewhere along the line that facility got deleted and the _mcount export in arch/sparc64/kernel/sparc64_ksyms.c got changed to a plain EXPORT_SYMBOL() which does not work: *** Warning: "_mcount" [sound/sparc/snd-sun-cs4231.ko] undefined! *** Warning: "_mcount" [sound/soundcore.ko] undefined! *** Warning: "_mcount" [sound/pci/ali5451/snd-ali5451.ko] undefined! ... etc. Yes, I can turn MODVERSIONS off while I do this debugging. But I don't consider that a full solution.