Received: from biscayne-one-station.mit.edu (BISCAYNE-ONE-STATION.MIT.EDU [18.7.7.80]) by krbdev.mit.edu (8.9.3p2) with ESMTP id SAA05156; Wed, 28 Dec 2005 18:36:02 -0500 (EST) Received: from outgoing.mit.edu (OUTGOING-AUTH.MIT.EDU [18.7.22.103]) by biscayne-one-station.mit.edu (8.12.4/8.9.2) with ESMTP id jBSNZxGe014182; Wed, 28 Dec 2005 18:35:59 -0500 (EST) Received: from [18.18.1.160] (NOME-KING.MIT.EDU [18.18.1.160]) (authenticated bits=0) (User authenticated as raeburn@ATHENA.MIT.EDU) by outgoing.mit.edu (8.13.1/8.12.4) with ESMTP id jBSNZrpg006679 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT); Wed, 28 Dec 2005 18:35:58 -0500 (EST) In-Reply-To: References: MIME-Version: 1.0 (Apple Message framework v746.2) Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Message-Id: Content-Transfer-Encoding: 7bit From: Ken Raeburn Subject: Re: [krbdev.mit.edu #3316] evaluate use of ELF symbol visibility pragmas for smaller code, GOT, PLT Date: Wed, 28 Dec 2005 18:35:52 -0500 To: rt-comment@krbdev.mit.edu X-Mailer: Apple Mail (2.746.2) X-Spam-Score: 1.217 X-Spam-Level: * (1.217) X-Spam-Flag: NO X-Scanned-BY: MIMEDefang 2.42 RT-Send-Cc: X-RT-Original-Encoding: us-ascii Content-Length: 997 On Dec 28, 2005, at 18:16, Sam Hartman via RT wrote: > My personal opinion is that if we can do this in a manner where we > guarantee that the symbol visibility and export lists do not conflict > then we should do so. There are two main types of conflict there. First, a symbol marked hidden/internal but in the export list. From a test I did a little while ago, it appears that it wouldn't show up in the dynamic symbol table. I was thinking of adding a test program that would walk through the export list and try calling dlsym on each symbol. Second, a symbol with default visibility but not in the export list. This would be okay, it's just likely to be less efficient. Though for platforms where visibility is supported but export lists are not (are there any?), it might be desirable to run nm and examine the output for unrecognized, defined symbols. > We should also make sure that in cases where features we need are not > available we do not use them. Yup. Ken