Making NPTL the default for FC3, vanilla i386 support

Luciano Miguel Ferreira Rocha strange at nsk.no-ip.org
Wed May 19 20:45:37 UTC 2004


On Wed, May 19, 2004 at 08:24:35AM -0400, Jakub Jelinek wrote:
> 1) statically linked programs, no matter whether threaded or not,
>    will now require a NPTL capable kernel (one from RHL 9, RHEL3,
>    FC1, FC2 or any 2.6.x kernel should be enough), dynamically linked
>    programs using -lpthread in some cases as well (e.g. if they are using
>    the functions present in NPTL but not in LinuxThreads)

When compiling static programs, one can always specify the location for
the LT version. A section about the change in the release notes for the
next FC version could have that information.

> 2) while previously blindly setting LD_ASSUME_KERNEL environment
>    variable at the beginning of large shell scripts around some
>    programs and sometimes even in /etc/profile.d/* often worked,
>    now the chances are lower (any time such shell script
>    runs a program which requires NPTL the program would fail
>    to run).  LD_ASSUME_KERNEL should now be really only used
>    on the command line of the broken program which needs
>    LinuxThreads.  E.g.
>    LD_ASSUME_KERNEL=2.4.19 /opt/FOOW/bin/barx --args xyz

I'd rather be able to set flags on program files with that information:
# setth lt_fs $(find /opt/java -type f -perm -u+x)

So there would be no need for individual users to know when a
LD_ASSUME_KERNEL is needed, no need for sysadmins to create wrapper
scripts, and no need to go through an obscure shell script finding the
place where the final binary is called.

> 3) NPTL has not been ported to i386, only i486+, x86_64,
...
>    This means though that almost no FC3 programs can run
>    on vanilla i386{SX,DX} CPUs.  Is this a problem to anyone?

I don't see myself in need to run FC3 programs on i386. However, as long
as it's possible to do a CC="gcc -I/usr/include/linuxthreads
-L/usr/lib{,64}/linuxthreads" rpmbuild --rebuild package.src.rpm, I'll be
able to.

> Now, the question is, as at least all statically linked programs
> built on Fedora Core 3 and many dynamically linked ones will require
> i486+ atomic instructions (xaddl, cmpxchgl), if we should change
> rpm architecture of FC3 rpms or not.

Well, if those .i386.rpms can't run in a i386, then they shouldn't be
named as such. :)

I'd go with the second alternative.

Regards,
Luciano Rocha





More information about the devel mailing list