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


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: Linux ELF OS ABI


>
> At least glibc provides (through symbol versioning) backwards compatibility
> (and other libraries ought to as well, when they aren't changing SONAME).
> Which means if you compile/link against older glibc, it will work well
> against a newer one.

I'm just somewhat surprised that linking against a newer version of
glibc, provided I don't use newer interfaces or symbols, is "a bad
thing (tm)."  Especially considering that glibc seems to be pretty
careful with sonames, etc.  It's just something that I haven't had to
worry about for some time now on the Windows side (hey, I makes my
money where I can find it...I've been lucky enough that the powers
that be decided we should provide *any* Linux versions).  And I
understand that other libraries don't necessarily do that properly,
but that's really the main reason we compile them from source into a
support library (it's not "just" to comply with licensing).

> So, you want to compile/link against the oldest glibc
> (and with oldest gcc and other parts of the toolchain) you want to support.
> In Fedora/RHEL world you can use mock for that, other distros likely have
> something similar and if they don't, just prepare such a chroot yourself.

This is *not* really a conversation I'm looking forward to having with
said powers that be (of course, they seem to have a much more
"simplistic" view of the world of Linux...)

>
>> What you've just written could be read in such a way that I can't
>> expect my binaries built on my (updated to kernel 2.6.32) Fedora 12
>> box to even work on a non-updated Fedora 12 (which is at, I believe,
>> kernel 2.6.31) box!
>
> Running kernel version shouldn't matter, and e.g. glibc is never adding new
> symbol versions on release branches (and similarly other forwards
> incompatible toolchain changes aren't usually introduced in updates, only
> in new releases).

(Probably that was a bad example....a better one would be say the
libudev stuff maybe :))

Anyway, thanks, you've given me something to chew on for now...


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