Why does the gcc version cause incompatibility?
Wade Curry
wade-ml-kplug at syntaxman.org
Wed Apr 21 23:04:32 PDT 2004
Andrew P. Lentvorski, Jr. said:
> On Wed, 21 Apr 2004, John H. Robinson, IV wrote:
>
>> neither system has quite matured yet. this is why you see a lot of ABI
>> changes as was otherwise mentioned.
>
<snip>
> The issue is not the compiler, it is the *linker*. Useful compiled
> programs almost always need to talk to some external libary. When these
> calling conventions change, the newly compiled program passes things
> incorrectly to the library built with the old compiler. Hilarity doesn't
> ensue.
>
So, in practical terms, (for the learning programmer or the admin who simply
compiles a fair amount of software) the issue isn't the compiler version,
but what ABI version the compiler uses?
And if there is an ABI change, then the newly compiled libraries and apps
won't work until what point? That is, if a system gets an upgraded gcc with
a new ABI, what minimally has to be recompiled? -- everything? What I've
read in the replies so far seems to be saying that if a program doesn't link
to any external libraries, then the program wouldn't have a problem (and I
realize that may not describe more than .05% of programs, but it helps me
discern what is really going on).
Thanks!
Wade Curry
(syntaxman) o _ _ _
_o /\_ _ \\o (_)\__/o (_)
_< \_ _>(_) (_)/<_ \_| \ _|/'\/
(_)>(_) (_) (_) (_) (_)' _\o_
More information about the KPLUG-List
mailing list