krb5.conf and 32 vs 64-bit plugins

Roland Mainz rmainz at redhat.com
Mon Aug 17 10:08:19 EDT 2015


On 17 August 2015 at 15:48, Benjamin Kaduk <kaduk at mit.edu> wrote:
> On Mon, 17 Aug 2015, Tomas Kuthan wrote:
>> On 08/17/15 06:33 AM, Greg Hudson wrote:
>> > On 08/14/2015 08:43 AM, Tomas Kuthan wrote:
[snip]
>> thank you for your reply.
>>
>> Just to clarify, with this proposal we are trying to address plugins in
>> non-default library path (I should have made up a better example, such
>> as "/opt/vendor/product/version/lib/plugins/$ISA/"). Default library
>> path already works fine for both 32 and 64-bit.
>>
>> How about supporting the following macros, that would  be settable at
>> configure with the following default values:
>>
>> #define ISA_STRING "/$ISA/"
>> #define ISA_32 "/"
>> #define ISA_64 "/64/"
>>
>> I believe this should offer enough flexibility.
>
> I'm unconvinced that 32- and 64-bit (x86) are the only ABIs that need to
> be considered.  ARM is an interesting case, with thumb-ABI as an option,
> hard- or soft-float (not that we use much floating-point, but it's
> illustrative of the ABI explosion), and other options once you start
> permit running on different chips.  It really seems like something more
> generic than 32 vs 64 bits is going to be needed.

The two "traditional" solutions we had at Sun were:
1. use some ${PATH}-like construct where the supported ISAs are listed
manually as ${PATH}-elements separated by ':' (the dynamic linker well
weed-out unsupported ISAs by refusing to load shared libraries those
ISA is not supported or incompatible)

XOR

2. Use the way listed in
http://src.illumos.org/source/xref/illumos-gate/usr/src/lib/libc/port/gen/isaexec.c
, which basically is a iteration/loop over all supported ISAs, uses a
base path, appends the current isa name and then tries to load/execute
code from that constructed path. If nothing is there the next ISA name
is tried.

[2] works fine on SystemV-derived UNIX (Solaris/Illumos, etc.)
/usr/lib contains soft-links with the ISA names to the "real"
directory location. This might work for LSB systems, too.

----

Bye,
Roland

-- 
  __ .  . __
 (o.\ \/ /.o) rmainz at redhat.com
  \__\/\/__/  IPA/Identity Management/Kerberos 5
  /O /==\ O\
 (;O/ \/ \O;)


More information about the krbdev mailing list