Skip Menu |
 

Date: Tue, 6 Sep 2005 16:04:28 -0600 (MDT)
From: Marc Aurele La France <tsi@ualberta.ca>
To: krb5-bugs@mit.edu
Subject: [PATCH] AIX 5.3 (fwd)
Download (untitled) / with headers
text/plain 3.2KiB


+----------------------------------+-----------------------------------+
| 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.

Show quoted text
---------- Forwarded message ----------
Date: Fri, 2 Sep 2005 14:25:23 -0600 (MDT)
From: Marc Aurele La France <tsi@ualberta.ca>
To: krbdev@mit.edu
Subject: [PATCH] AIX 5.3

Hi,

The attached are changes I needed for AIX 5.3. I attach a patch against 1.4.2
and one against the current snapshot (dated 2005.08.24).

The changes against 1.4.2 are as follows.

Directory src/config:

* shlib.conf (case *-*-aix5.3*): Generate proper shared libraries
acceptable to dlopen(3) (as in mechglue, for example). Allows for
building both shared and static libraries in one run. Only done for
AIX 5.3, but probably should be done for earlier versions.

Directory src/include:

* fake_addrinfo.h (getaddrinfo): AI_NEMERICSERV fix for AIX.
* k5-thread.h: Turn off DEBUG_THREADS and DEBUG_THREADS_LOC.

Directory src/tests/resolve:

* Makefile.in: Build addrinfo-test.
* addrinfo-test.c (main): 'numeric' -> 'numerichost'; Add -n option
to set AI_NUMERICSERV (if available); print usage message when no
arguments are given.

The diff against the current snapshot, generated as a courtesy, is similar,
except for ...

- the k5-thread.h change isn't included;
- the fake_addrinfo.h change is moved to util/support/fake-addrinfo.c.

It should be noted that, independently of these changes, the current snapshot
does not build with --enable-static (primarily due to src/lib/kdb/kdb5.c's
compilation with _KDB5_STATIC_LINK #define'd). I realise that this is a
consequence of your on-going integration of Novell's changes and have elected
not to interfere with that process, i.e. my "fix" is too specific to the way
I've built krb5-current (and is not needed for an official release anyway).

Thanks.

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.
Download krb5-1.4.2-devel.diff.gz
application/octet-stream 3.1KiB

Message body not shown because it is not plain text.

Download krb5-devel-20050824.diff.gz
application/octet-stream 2.9KiB

Message body not shown because it is not plain text.

From: raeburn@mit.edu
Subject: CVS Commit
patch from Marc Aurele La France:

* shlib.conf (case *-*-aix5.3*): Generate proper shared libraries acceptable
to dlopen(3) (as in mechglue, for example). Allows for building both shared
and static libraries in one run. Only done for AIX 5.3, but probably should be
done for earlier versions.

Commit By: raeburn



Revision: 17378
Changed Files:
U trunk/src/config/ChangeLog
U trunk/src/config/shlib.conf
From: raeburn@mit.edu
Subject: CVS Commit
* fake-addrinfo-test.c: New file.
* Makefile.in (check): Do pass arguments to addrinfo-test invocation added by
Marc's patch.
(fake-addrinfo-test): New target.
(all): Depend on it.
(SRCS): Fix typo in last change. Add fake-addrinfo-test.c.
(OBJS): Add fake-addrinfo-test.o.

from Marc Aurele La France:
* Makefile.in: Build addrinfo-test.
* addrinfo-test.c (main): 'numeric' -> 'numerichost'; Add -n option to set
AI_NUMERICSERV (if available); print usage message when no arguments are
given.

Commit By: raeburn



Revision: 17379
Changed Files:
U trunk/src/tests/resolve/ChangeLog
U trunk/src/tests/resolve/Makefile.in
U trunk/src/tests/resolve/addrinfo-test.c
A trunk/src/tests/resolve/fake-addrinfo-test.c
Oops. Revision 17380 has my checkin of the util/support changes to fix
AI_NUMERICSERV lookups on AIX 5, forgot to include the ticket number in
the checkin message.
To: krb5-bugs@MIT.EDU
Date: Tue, 13 Sep 2005 18:47:51 -0400 (EDT)
From: hartmans@MIT.EDU (Sam Hartman)
Subject: [krbdev.mit.edu #3176]
RT-Send-Cc:


Note that the patch to shlib.conf breaks our ABI on AIX. This may be
acceptable or even desirable but it should be considered.
To: rt@krbdev.mit.edu
Subject: Re: [krbdev.mit.edu #3176]
From: Sam Hartman <hartmans@mit.edu>
Date: Tue, 13 Sep 2005 22:33:14 -0400
RT-Send-Cc:
Show quoted text
>>>>> "Marc" == Marc Aurele La France <tsi@ualberta.ca> writes:

Show quoted text
Marc> On Tue, 13 Sep 2005, Sam Hartman via RT wrote:
Show quoted text
>> Note that the patch to shlib.conf breaks our ABI on AIX.

Show quoted text
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.

Show quoted text
Marc> Quite frankly, I find it odd that this wrapping is only
Marc> being done for AIX, and only by mit-krb5. Even GNU doesn't
Marc> do this. Is this a remnant of the historical
Marc> misundertanding of how AIX shared objects are supposed to
Marc> work?

No. It's because I actually understood conventions used for the C
libraries on AIX 3.1, 3.2 and 4. AIX 4.3 did add optional conventions
for non-wrapped objects, although it was not clear the linker did a
good job of finding them when first introduced.
Date: Tue, 13 Sep 2005 21:07:41 -0600 (MDT)
From: Marc Aurele La France <tsi@ualberta.ca>
To: Sam Hartman via RT <rt-comment@krbdev.mit.edu>
Subject: Re: [krbdev.mit.edu #3176]
RT-Send-Cc:
Download (untitled) / with headers
text/plain 2.3KiB
On Tue, 13 Sep 2005, Sam Hartman via RT wrote:
Show quoted text
>>>>>> "Marc" == Marc Aurele La France <tsi@ualberta.ca> writes:
> Marc> On Tue, 13 Sep 2005, Sam Hartman via RT wrote:
> >> Note that the patch to shlib.conf breaks our ABI on AIX.

Show quoted text
> 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?

Show quoted text
> 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.

You must admit, though, that the current scheme, before my patch, prevents
shared/static co-existence, which is not a Good Thing (tm).

Show quoted text
> Marc> Quite frankly, I find it odd that this wrapping is only
> Marc> being done for AIX, and only by mit-krb5. Even GNU doesn't
> Marc> do this. Is this a remnant of the historical
> Marc> misundertanding of how AIX shared objects are supposed to
> Marc> work?

Show quoted text
> No. It's because I actually understood conventions used for the C
> libraries on AIX 3.1, 3.2 and 4. AIX 4.3 did add optional conventions
> for non-wrapped objects, although it was not clear the linker did a
> good job of finding them when first introduced.

Well, I still have an AIX 3.2.5 system around. So I can offer to try this
out there and get back to you.

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.
To: rt@krbdev.mit.edu
Subject: Re: [krbdev.mit.edu #3176]
From: Sam Hartman <hartmans@mit.edu>
Date: Tue, 13 Sep 2005 23:47:06 -0400
RT-Send-Cc:
Show quoted text
>>>>> "Marc" == Marc Aurele La France <tsi@ualberta.ca> writes:

Show quoted text
Marc> You must admit, though, that the current scheme, before my
Marc> patch, prevents shared/static co-existence, which is not a
Marc> Good Thing (tm).

Not really. There is an AIX linker flag to treat shared objects (or
particular shared objects) as static.

The OS for example tends not to distribute static libs for anything.
Date: Fri, 16 Sep 2005 10:20:12 -0600 (MDT)
From: Marc Aurele La France <tsi@ualberta.ca>
To: Sam Hartman via RT <rt-comment@krbdev.mit.edu>
Subject: Re: [krbdev.mit.edu #3176]
RT-Send-Cc:
Download (untitled) / with headers
text/plain 2.3KiB
On Tue, 13 Sep 2005, Marc Aurele La France wrote:
Show quoted text
> On Tue, 13 Sep 2005, Sam Hartman via RT wrote:
>>>>>>> "Marc" == Marc Aurele La France <tsi@ualberta.ca> writes:
>> Marc> On Tue, 13 Sep 2005, Sam Hartman via RT wrote:
>> >> Note that the patch to shlib.conf breaks our ABI on AIX.

Show quoted text
>> 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?

Show quoted text
>> Because it changes the name that appears in the liblist section of the
>> xcoff object.

Show quoted text
> ... 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.
To: rt@krbdev.mit.edu
Subject: Re: [krbdev.mit.edu #3176]
From: Tom Yu <tlyu@MIT.EDU>
Date: Fri, 16 Sep 2005 17:28:56 -0400
RT-Send-Cc:
Currently, the patch only uses the new shared library build process
for AIX 5.3. Is it also applicable to earlier AIX 5.x? I suspect it
is, but confirmation would be appreciated.

---Tom
Date: Mon, 3 Oct 2005 10:20:43 -0600 (MDT)
From: Marc Aurele La France <tsi@ualberta.ca>
To: RT <rt-comment@krbdev.mit.edu>
Subject: Re: [krbdev.mit.edu #3176]
RT-Send-Cc:
Download (untitled) / with headers
text/plain 3.5KiB
On Fri, 16 Sep 2005, Tom Yu via RT wrote:
Show quoted text
> Currently, the patch only uses the new shared library build process
> for AIX 5.3. Is it also applicable to earlier AIX 5.x? I suspect it
> is, but confirmation would be appreciated.

In part, my proposal is intended to generate the same library combinations as
the 1.4.2 release does. It merely adds a .so to that set under
--enable-shared (which is the default). At worst, this'll affect
applications that subsequently get relinked using the non-default -brtl
option of AIX's ld(1) (causing it to prefer a ".so" over a ".a"). Thus I see
little harm in extending this to all AIXen.

However, I'll let you people decide...

On Fri, 16 Sep 2005, Marc Aurele La France wrote:
Show quoted text
> --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.

Show quoted text
> 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.

I attach an implementation of this proposal, against both the 1.4.2 release
and the 20050928 snapshot, but only for AIX 5.3. Changelogs included.

To handle the (default) --disable-static and --enable-shared case, where both
a shared archive (.a) and a shared object (.so) are to be generated, I
generalised the building of static archives to optionally handle versioning
and introduced a MAKE_STLIB_COMMAND variable. Thus, under --disable-static,
I re-use the static library build scheme to instead generate the ".so".

Also, with these changes, krb5_force_static now needs to be set, if at all,
before src/config/shlib.conf is sourced by configure scripts.

On Fri, 9 Sep 2005, Ken Raeburn wrote:
Show quoted text
> On Sep 2, 2005, at 16:25, Marc Aurele La France wrote:
>> It should be noted that, independently of these changes, the current
>> snapshot does not build with --enable-static (primarily due to
>> src/lib/kdb/kdb5.c's compilation with _KDB5_STATIC_LINK #define'd). I
>> realise that this is a consequence of your on-going integration of Novell's
>> changes and have elected not to interfere with that process, i.e. my "fix"
>> is too specific to the way I've built krb5-current (and is not needed for
>> an official release anyway).

Show quoted text
> Yep, static builds are a problem right now. I'm leaning towards having the
> kdb library do the dlopen bit even for static builds; that keeps some other
> things much more consistent. Making our testing scripts work again for
> shared-library builds is higher priority, though.

I have again elected to not touch this one.

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.
Download krb5-devel-20050928.diff2.gz
application/octet-stream 4KiB

Message body not shown because it is not plain text.

Download krb5-1.4.2-devel.diff3.gz
application/octet-stream 4KiB

Message body not shown because it is not plain text.

Anything more on this?
From: Ken Raeburn <raeburn@MIT.EDU>
Date: Thu, 13 Oct 2005 04:47:47 -0400
To: krb5-bugs@MIT.EDU
Subject: [krbdev.mit.edu #3176] Fwd: svn rev #17423: trunk/src/config/
RT-Send-Cc:


Begin forwarded message:

Show quoted text
> From: raeburn@MIT.EDU
> Date: October 12, 2005 21:23:03 EDT
> To: cvs-krb5@mit.edu
> Subject: svn rev #17423: trunk/src/config/
> Reply-To: krbdev@MIT.EDU
> X-Spam-Score: -2.592
>
>
> Commit By: raeburn
>
> Log Message:
> * shlib.conf: Change aix5.3 section to aix5.*. Change aix* section
> to aix4.*,
> and set DYNOBJEXT and MAKE_DYNOBJ_COMMAND.
>
>
>
> Changed Files:
> U trunk/src/config/ChangeLog
> U trunk/src/config/shlib.conf
> _______________________________________________
> cvs-krb5 mailing list
> cvs-krb5@mit.edu
> https://mailman.mit.edu/mailman/listinfo/cvs-krb5
>
Date: Sun, 23 Oct 2005 17:43:19 -0600 (MDT)
From: Marc Aurele La France <tsi@ualberta.ca>
To: Ken Raeburn via RT <rt-comment@krbdev.mit.edu>
Subject: Re: [krbdev.mit.edu #3176] Fwd: svn rev #17423: trunk/src/config/
RT-Send-Cc:
Download (untitled) / with headers
text/plain 1.4KiB
On Thu, 13 Oct 2005, Ken Raeburn via RT wrote:

Show quoted text
> Begin forwarded message:

Show quoted text
>> From: raeburn@MIT.EDU
>> Date: October 12, 2005 21:23:03 EDT
>> To: cvs-krb5@mit.edu
>> Subject: svn rev #17423: trunk/src/config/
>> Reply-To: krbdev@MIT.EDU
>> X-Spam-Score: -2.592

Show quoted text
>> Commit By: raeburn

Show quoted text
>> Log Message:
>> * shlib.conf: Change aix5.3 section to aix5.*. Change aix* section
>> to aix4.*,
>> and set DYNOBJEXT and MAKE_DYNOBJ_COMMAND.

Show quoted text
>> Changed Files:
>> U trunk/src/config/ChangeLog
>> U trunk/src/config/shlib.conf
>> _______________________________________________
>> cvs-krb5 mailing list
>> cvs-krb5@mit.edu
>> https://mailman.mit.edu/mailman/listinfo/cvs-krb5

I have updated my change accordingly.

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.
Date: Sun, 23 Oct 2005 17:45:16 -0600 (MDT)
From: Marc Aurele La France <tsi@ualberta.ca>
To: Ken Raeburn via RT <rt-comment@krbdev.mit.edu>
Subject: Re: [krbdev.mit.edu #3176] Fwd: svn rev #17423: trunk/src/config/
RT-Send-Cc:
Download (untitled) / with headers
text/plain 1.6KiB
On Sun, 23 Oct 2005, Marc Aurele La France wrote:
Show quoted text
> On Thu, 13 Oct 2005, Ken Raeburn via RT wrote:
>> Begin forwarded message:

Show quoted text
>>> From: raeburn@MIT.EDU
>>> Date: October 12, 2005 21:23:03 EDT
>>> To: cvs-krb5@mit.edu
>>> Subject: svn rev #17423: trunk/src/config/
>>> Reply-To: krbdev@MIT.EDU
>>> X-Spam-Score: -2.592

Show quoted text
>>> Commit By: raeburn

Show quoted text
>>> Log Message:
>>> * shlib.conf: Change aix5.3 section to aix5.*. Change aix* section
>>> to aix4.*,
>>> and set DYNOBJEXT and MAKE_DYNOBJ_COMMAND.

Show quoted text
>>> Changed Files:
>>> U trunk/src/config/ChangeLog
>>> U trunk/src/config/shlib.conf
>>> _______________________________________________
>>> cvs-krb5 mailing list
>>> cvs-krb5@mit.edu
>>> https://mailman.mit.edu/mailman/listinfo/cvs-krb5

Show quoted text
> I have updated my change accordingly.

Oops, forgot the attachement. This also applies to the 10/22 snapshot.

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.
Download krb5-devel-20051013.diff.gz
application/octet-stream 4KiB

Message body not shown because it is not plain text.