Date: Tue, 13 Sep 2011 00:20:12 +0400
From: Solar Designer <solar@...nwall.com>
To: owl-dev@...ts.openwall.com
Subject: Re: gcc 4.6.x and kernel-2.6.18-ovz
Vasiliy,
On Mon, Sep 12, 2011 at 10:16:06PM +0400, Vasiliy Kulikov wrote:
> OK. I just don't know how real Kir's fears are.
I think their project's official position on this is just right for
their project - they're reusing/revising RHEL kernels and they try to
minimize the number of changes (mostly limit them to OpenVZ container
virtualization).
However, for our project we have other goals as well.
> > I dislike using non-latest-stable gcc in Owl 4.0, and there's no other
> > kernel version we can use currently while continuing to include OpenVZ
> > support.
>
> While I don't strongly state anything, why? AFAICS in changelogs, gcc
> 4.4.x has all significant features we want to use (like SSP), 4.6.x has
> probably not too much important for us improved C++1X support, more
> strict compile time checks, better standards conformance, and many
> changes in Ada, Go, Fortran, etc.; support of new -mXXX, non-x86 archs
> support/improvements, etc.
In general, we should try to ship the latest stable versions of packages
in Owl, except where this conflicts with our other goals. I am not
convinced that we have enough of a conflict with our other goals here.
As to why a user of Owl could want to have gcc 4.6.1 (or newer) rather
than 4.4.5: just to run the latest stable (yes, the version number
itself matters to some users), and/or for the many relatively minor
enhancements (which sort of add up to a significant difference). When I
compile John the Ripper with different versions of gcc, some performance
difference can be seen, even between these recent versions. It's small,
but it's there. Some extra warnings may be seen with newer versions,
which is desirable for development.
Oh, and I don't recall if code generation for AVX is even available on
4.4.5. I know it is on 4.5.0, though.
One of the drawbacks of Owl so far is that we have older versions of
many packages. This makes Owl unattractive for some prospective users.
We need to try and improve on that.
So for Owl 4.0 we have mixed goals: RHEL 6 binary and package
compatibility, but newer included software versions than RHEL 6's
whenever possible. For example, this should be possible for glibc due
to symbol versioning.
And we should be able to update package versions even further. When gcc
4.7 comes out, we should be able to update to that (or at least we
should try).
> I'll try to make 2.6.18 kernel compilable with gcc 4.6.1.
Yes, please. But please limit your time spent on this. If it starts to
take a lot of time, please stop and let me know.
Also, wouldn't it make more sense to make all other packages (except for
the kernel) buildable with gcc 4.6.1 first?
I notice that you've already committed a couple of build fixes today,
but many more are needed.
Thanks,
Alexander