This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See crosstool-NG for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Using ancient linux versions with crosstools-NG


Hi Yann.

On 03/05/2013 16:17, Yann E. MORIN wrote:

The main problem I hit is that the kernel source doesn't support the make
kernel_headers rule. Older crosstools-ng (~1.2) supported kernels this old
so maybe it's possible to add back in support?

No, we're not adding back support for so old kernels in crosstool-NG.

Sorry, wasn't clear. Didn't want to add it back upstream. Was wondering if I could patch it locally and was wondering what is involved.


You can still use a version of crosstool-NG that supported that feature,
though.

Can anyone give any advice on how to tackle this issue? Would it be possible
to build my user space against a 2.6.19 kernel (first version that has
make_headers) and then expect that to run against an older kernel.

If you're using (e)glibc, then you can use a recent kernel to build the
toolchain, and run an older kernel, provided you configure (e)glibc with
suport for the older kernel with:
     C-library  --->
         Minimum supported kernel version  -->  Specific kernel version
         (X.Y.Z) Minimum kernel version to support

What are
the rules on what kernel versions a C library will work on?

Baically, with the above settings, any combination. But be aware that
running a newer toolchain on an ancient kernel will maybe cause less
than optinal runtime, as the libc will have to provide its own
implementations of somne kernel features (in userland instead of kernel
land), which might be slower.

The sane rules are:
   - build the toolchain with the kernel you expect to run on;
   - run the same generation of kernel as the one o built the
     toolchain with.

Also, keep in mind that you should use tools of the same era. For
example, using a gcc, binutils and C library that were current at the
time the kernel you're using was released. Ie. mixing old tools with
newer ones is probably not a good idea...

Thanks. that's really helpful. To get round the problem with 2.6.14 not having make kernel_headers I'll try to use 2.6.19 and toolchain of that era but set the minimum supported kernel version to 2.6.14 and hopefully that won't be too bad for performance.

Given this I assume I'm better off using an older version for crosstool-ng rather than trying to patch the current version with older version of linux, binutils, gcc etc.

Regards
Will

--
------------------------------------------------------------------------
Will Wagner                                     will_wagner@carallon.com
Development Manager                      Office Tel: +44 (0)20 7471 9224
Carallon Ltd, Studio G20, Shepherds Building, Rockley Rd, London W14 0DA
------------------------------------------------------------------------


--
For unsubscribe information see http://sourceware.org/lists.html#faq


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]