From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932382AbaIDHuK (ORCPT ); Thu, 4 Sep 2014 03:50:10 -0400 Received: from youngberry.canonical.com ([91.189.89.112]:35135 "EHLO youngberry.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756738AbaIDHuI (ORCPT ); Thu, 4 Sep 2014 03:50:08 -0400 Message-ID: <540819A8.7060205@canonical.com> Date: Thu, 04 Sep 2014 09:50:00 +0200 From: Maarten Lankhorst User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.0 MIME-Version: 1.0 To: Matt Fleming , Ard Biesheuvel CC: "H. Peter Anvin" , Ulf Winkelvos , Matt Fleming , LKML , "x86@kernel.org" , "linux-efi@vger.kernel.org" , Seth Forshee , Matthew Garrett Subject: Re: [REGRESSION] "efi: efistub: Convert into static library" and preparation patches References: <5405E186.2080406@canonical.com> <20140902192941.GB3001@console-pimps.org> <5406D0DB.90401@canonical.com> <54073409.6030004@canonical.com> <20140903175948.GH3001@console-pimps.org> <54078C74.2060804@zytor.com> <20140904074008.GJ3001@console-pimps.org> In-Reply-To: <20140904074008.GJ3001@console-pimps.org> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Op 04-09-14 om 09:40 schreef Matt Fleming: > On Thu, 04 Sep, at 08:47:57AM, Ard Biesheuvel wrote: >> So how about we: >> - add ASSERT(_got == _egot, "GOT entries not supported in >> boot/compressed") to the linker script >> - #define __nogotentry __attribute__((visibility(hidden))) somewhere >> in compiler.h or wherever else it belongs >> - add the __nogotentry qualifiers to each extern that requires it, >> which is currently: >> early_serial_base >> efi_early >> free_mem_end_ptr >> free_mem_ptr >> real_mode >> - get rid of the fixup code in assembly > > Seems fine to me since it was Peter who introduced the GOT fixup asm > code in the first place. > >> Any idea what the oldest GCC is we should support? > I'm pretty sure we still support GCC 3.x.x. The symbol visibility > support was added in GCC 4.x right? > gcc 3.3.6 has documented visibility at least. https://gcc.gnu.org/onlinedocs/gcc-3.3.6/gcc/Function-Attributes.html#Function-Attributes I couldn't find it in earlier manuals, but grepping through gcc 3.0.4 source code shows that it would appear to be supported there too. ~Maarten