Return-Path: X-Original-To: notmuch@notmuchmail.org Delivered-To: notmuch@notmuchmail.org Received: from localhost (localhost [127.0.0.1]) by olra.theworths.org (Postfix) with ESMTP id 85A5D431FD0 for ; Tue, 21 Jun 2011 19:05:26 -0700 (PDT) X-Virus-Scanned: Debian amavisd-new at olra.theworths.org X-Spam-Flag: NO X-Spam-Score: 0 X-Spam-Level: X-Spam-Status: No, score=0 tagged_above=-999 required=5 tests=[none] autolearn=disabled Received: from olra.theworths.org ([127.0.0.1]) by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id VLXu0AZqL-D8 for ; Tue, 21 Jun 2011 19:05:25 -0700 (PDT) Received: from che.mayfirst.org (che.mayfirst.org [209.234.253.108]) by olra.theworths.org (Postfix) with ESMTP id D990A431FB6 for ; Tue, 21 Jun 2011 19:05:25 -0700 (PDT) Received: from [192.168.13.75] (lair.fifthhorseman.net [216.254.116.241]) by che.mayfirst.org (Postfix) with ESMTPSA id E5400F970 for ; Tue, 21 Jun 2011 22:05:23 -0400 (EDT) Message-ID: <4E014DDB.20001@fifthhorseman.net> Date: Tue, 21 Jun 2011 22:05:15 -0400 From: Daniel Kahn Gillmor User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.17) Gecko/20110516 Icedove/3.1.10 MIME-Version: 1.0 To: notmuch@notmuchmail.org Subject: Re: hiding xapian symbols References: <1308704923-14748-1-git-send-email-david@tethera.net> In-Reply-To: <1308704923-14748-1-git-send-email-david@tethera.net> X-Enigmail-Version: 1.1.2 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="------------enig8A5960AA5BA1FD58935161A0" X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.13 Precedence: list Reply-To: notmuch List-Id: "Use and development of the notmuch mail system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Jun 2011 02:05:26 -0000 This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enig8A5960AA5BA1FD58935161A0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On 06/21/2011 09:08 PM, david@tethera.net wrote: > Here is my proposal, based on Clint's suggestion on IRC, and on the > sed hack from librhash, to hide all symbols that are not explicitly > part of the notmuch API. In particular it hides the various symbols > related to Xapian exceptions. I like this proposal -- i would be really glad to not see the mangled Xapian symbols in libnotmuch.so. However, i'm concerned that the act of hiding these symbols will make it so that any program that tries to link both libnotmuch and libxapian will be unable to use these symbols. Consider the visiblity rules [0]: >> Symbol visibility is "default" by default but if the linker encounters= =20 >> just one definition with it hidden - just one - that typeinfo symbol=20 >> becomes permanently hidden (remember the C++ standard's ODR - one=20 >> definition rule).=20 This makes me think that a program that links against libnotmuch and libxapian, but actually tries to *use* libxapian's exception handling may have a problem. This is probably best resolved by writing such an executable and seeing if it behaves, but alas, i haven't done that work. Any takers? Perhaps this could be a test in the notmuch test suite? --dkg [0] http://gcc.gnu.org/wiki/Visibility#Problems_with_C.2B-.2B-_exceptions_.28= please_read.21.29 --------------enig8A5960AA5BA1FD58935161A0 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQJ8BAEBCgBmBQJOAU3bXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQwRUU1QkU5NzkyODJEODBCOUY3NTQwRjFD Q0QyRUQ5NEQyMTczOUU5AAoJEMzS7ZTSFznp7rYQAKM+VE48bjNLEGv6VYQ9sCdq 79DzrgKAYoBkE5sLHGGkowY85wHF35kMgFwPFjeu7JFagMZ8VI2VOg8f1Qp66SDW 5crlotun9WtB0yBqRTc1BBIpZdqNdye8dYd1sICJoVy0onzJWC7nyv04bfmi+QSr 9dWqtu/ixaHPxO6X2paZIxzqFZBck8Qe/olIYHNOjjoyEG6zyg6gr5pYbqW9dLvp 5bKm49/zlI4JRjP+iRXO0QseL/CTQ1Vus41KGux/FeteQEHtQyIjQfJ4yBAdH2At mfOIXW39niUcVuIdgkfbnLtwdUsi9k9Ffu3/HBGRkURfkZ3StEG7X9Fueza6bJlW NAPiKaRNqK02Strrb4HunYSYv8FQzzt6DacSAJ9n+/sbLDTVRr5NMdoSKJJc8Fsn 84HVaRWHSlGSMJrWO1ixE79yXWklovFlu7nY5LxdnXsl8TTUVDs8SzqWDsu0d2A/ N0o1fMLqE3GXngjMr++C8z2Tg6JyZADTzxnxChd2wsxUV9mBQNHhwIdvleDKfEMQ nCA7608lSS/pWwuKCxV1bJ3ppatd7UMfCov+NKjMOtXDd7+p6jSIwiHm4MDR4RUM hy5qD3I24UM2CK6RTfB4FmoxVbcpDCqSD1cFwRdoEQl9yUo6snmh3r/1V8HIahgh wXeCzE5r/C4Q7rSeujgv =0rGx -----END PGP SIGNATURE----- --------------enig8A5960AA5BA1FD58935161A0--