From mboxrd@z Thu Jan 1 00:00:00 1970 From: Adrian Hunter Subject: Re: [PATCH v6 15/27] compiler: Option to default to hidden symbols Date: Fri, 1 Feb 2019 10:22:22 +0200 Message-ID: <3a2bdc07-e8c4-c340-dde7-516ab0de66f2@intel.com> References: <20190131192533.34130-1-thgarnie@chromium.org> <20190131192533.34130-16-thgarnie@chromium.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20190131192533.34130-16-thgarnie@chromium.org> Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org To: Thomas Garnier , kernel-hardening@lists.openwall.com Cc: kristen@linux.intel.com, Thomas Gleixner , Ingo Molnar , Borislav Petkov , "H. Peter Anvin" , x86@kernel.org, Luis Chamberlain , Greg Kroah-Hartman , "Rafael J. Wysocki" , Arnd Bergmann , Luc Van Oostenryck , Steven Rostedt , Jason Baron , Thomas Garnier , Jordan Borgner , Masami Hiramatsu , Masahiro Yamada , "Peter Zijlstra (Intel)" , Andrew Morton , Kees Cook , Mathieu List-Id: linux-arch.vger.kernel.org On 31/01/19 9:24 PM, Thomas Garnier wrote: > Provide an option to default visibility to hidden except for key > symbols. This option is disabled by default and will be used by x86_64 > PIE support to remove errors between compilation units. > > The default visibility is also enabled for external symbols that are > compared as they maybe equals (start/end of sections). In this case, > older versions of GCC will remove the comparison if the symbols are > hidden. This issue exists at least on gcc 4.9 and before. What does this mean, if anything, for what/how symbols appear in /proc/kallsyms? From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga18.intel.com ([134.134.136.126]:59664 "EHLO mga18.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726110AbfBAIYF (ORCPT ); Fri, 1 Feb 2019 03:24:05 -0500 Subject: Re: [PATCH v6 15/27] compiler: Option to default to hidden symbols References: <20190131192533.34130-1-thgarnie@chromium.org> <20190131192533.34130-16-thgarnie@chromium.org> From: Adrian Hunter Message-ID: <3a2bdc07-e8c4-c340-dde7-516ab0de66f2@intel.com> Date: Fri, 1 Feb 2019 10:22:22 +0200 MIME-Version: 1.0 In-Reply-To: <20190131192533.34130-16-thgarnie@chromium.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-arch-owner@vger.kernel.org List-ID: To: Thomas Garnier , kernel-hardening@lists.openwall.com Cc: kristen@linux.intel.com, Thomas Gleixner , Ingo Molnar , Borislav Petkov , "H. Peter Anvin" , x86@kernel.org, Luis Chamberlain , Greg Kroah-Hartman , "Rafael J. Wysocki" , Arnd Bergmann , Luc Van Oostenryck , Steven Rostedt , Jason Baron , Thomas Garnier , Jordan Borgner , Masami Hiramatsu , Masahiro Yamada , "Peter Zijlstra (Intel)" , Andrew Morton , Kees Cook , Mathieu Desnoyers , Arnaldo Carvalho de Melo , Andi Kleen , Jan Beulich , Song Liu , Alexander Shishkin , linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-sparse@vger.kernel.org Message-ID: <20190201082222.2kNAU4tWb1_rVryZvMkz_VBCB5b2UVKFVmK09GMS7ik@z> On 31/01/19 9:24 PM, Thomas Garnier wrote: > Provide an option to default visibility to hidden except for key > symbols. This option is disabled by default and will be used by x86_64 > PIE support to remove errors between compilation units. > > The default visibility is also enabled for external symbols that are > compared as they maybe equals (start/end of sections). In this case, > older versions of GCC will remove the comparison if the symbols are > hidden. This issue exists at least on gcc 4.9 and before. What does this mean, if anything, for what/how symbols appear in /proc/kallsyms?