Received: from pilsener.srv.ualberta.ca (pilsener.srv.ualberta.ca [129.128.5.19]) by krbdev.mit.edu (8.9.3p2) with ESMTP id MAA06265; Fri, 16 Sep 2005 12:20:18 -0400 (EDT) Received: from login3.srv.ualberta.ca (login3.srv.ualberta.ca [129.128.5.153]) by pilsener.srv.ualberta.ca (8.13.3/8.13.3) with ESMTP id j8GGKCUI017417 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) for ; Fri, 16 Sep 2005 10:20:13 -0600 (MDT) Received: from login3.srv.ualberta.ca (tsi@localhost.srv.ualberta.ca [127.0.0.1]) by login3.srv.ualberta.ca (8.13.0/8.13.0) with ESMTP id j8GGKCR6030644 for ; Fri, 16 Sep 2005 10:20:12 -0600 (MDT) Received: from localhost (tsi@localhost) by login3.srv.ualberta.ca (8.13.0/8.13.0/Submit) with ESMTP id j8GGKC4Y009681 for ; Fri, 16 Sep 2005 10:20:12 -0600 (MDT) X-Authentication-Warning: login3.srv.ualberta.ca: tsi owned process doing -bs Date: Fri, 16 Sep 2005 10:20:12 -0600 (MDT) From: Marc Aurele La France X-X-Sender: tsi@login3.srv.ualberta.ca To: Sam Hartman via RT Subject: Re: [krbdev.mit.edu #3176] In-Reply-To: Message-Id: References: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed RT-Send-Cc: X-RT-Original-Encoding: us-ascii Content-Length: 2432 On Tue, 13 Sep 2005, Marc Aurele La France wrote: > On Tue, 13 Sep 2005, Sam Hartman via RT wrote: >>>>>>> "Marc" == Marc Aurele La France writes: >> Marc> On Tue, 13 Sep 2005, Sam Hartman via RT wrote: >> >> Note that the patch to shlib.conf breaks our ABI on AIX. >> Marc> How so? How can wrapping, or not, a shared object into an >> Marc> archive affect a programming interface? And why is this >> Marc> wrapping preferable to producing dlopen'able objects? >> Because it changes the name that appears in the liblist section of the >> xcoff object. > ... of the _referencing_ xcoff objects, yes. That's a good point WRT > compatibility with previous releases of mit-krb5 and/or AIX. But, at least > on AIX 5.3, the run-time loader doesn't seem to care whether a referenced .a > contains shared or static objects. So old binaries should be OK. This assertion of mine turns out to be completely out-to-lunch. Anyway, after spending more time on this, I'd like to propose the following. --enable-shared builds a dlopen'able lib.so as I have it; --disable-shared doesn't build a lib.so at all. --enable-static builds a lib.a as an archive of static objects; --disable-static builds a lib.a as a wrapped shared object as you have it. This for all AIXen. One issue I already have with this is that more intrusive changes than I would like are needed for the --enable-shared --disable-static case. Also, this might limit, or least affect, your options in dealing with the --enable-static issue in src/lib/kdb/kdb5.c. But, on the whole, this strikes me as a viable compromise. Marc. +----------------------------------+-----------------------------------+ | Marc Aurele La France | work: 1-780-492-9310 | | Academic Information and | fax: 1-780-492-1729 | | Communications Technologies | email: tsi@ualberta.ca | | 352 General Services Building +-----------------------------------+ | University of Alberta | | | Edmonton, Alberta | Standard disclaimers apply | | T6G 2H1 | | | CANADA | | +----------------------------------+-----------------------------------+ XFree86 developer and VP. ATI driver and X server internals.