|
|
Log in / Subscribe / Register

Stallman on GCC, LLVM, and copyleft

Stallman on GCC, LLVM, and copyleft

Posted Jan 29, 2014 19:23 UTC (Wed) by Del- (guest, #72641)
In reply to: Stallman on GCC, LLVM, and copyleft by andreasb
Parent article: Stallman on GCC, LLVM, and copyleft

> Do you even know what these words mean? We are talking about an API. The Linux kernel internal API, which is what is relevant with regard to drivers and anything else running in kernel space, is unstable and will be changed whenever an improvement comes along that needs it.

Sigh, yes. Linux has two APIs, the internal and user space. APIs are at the source code level. The concept is quite general, but it often consists of calls to library routines. An ABI is an interface between binaries where one is typically a library or an operating system. In the case of linux there has been a lot of focus on that lack of an ABI towards drivers, or kernel modules in linux lingo. The lack of a stable ABI for drivers typically means that you need access to source code for the drivers in order to support upcoming kernels, since you often need to recompile. Regarding the linux drivers, most people care about the ABI, not the internal linux API, so I thought that was more relevant for the discussion. People often mix the concept of API and ABI, but as I already have said, they are not the same although they are clearly related concepts. Not sure how this confusion came about, but I guess I had one post where I was unclear.


to post comments

Stallman on GCC, LLVM, and copyleft

Posted Jan 29, 2014 20:32 UTC (Wed) by PaXTeam (guest, #24616) [Link]

> In the case of linux there has been a lot of focus on that lack of an ABI towards drivers,

there's no lack of ABI, it's mostly defined by the usual GNU toolchain and some kernel side decisions and it doesn't really change, certainly much much less than the API.

> or kernel modules in linux lingo

no, not all kernel modules are drivers.

> The lack of a stable ABI for drivers typically means that

you don't know what you're talking about again. the ABI is quite stable, what is not stable is the API and no amount of recompilation will help if the source code itself is not patched to accomodate the changed API.

> Regarding the linux drivers, most people care about the ABI, not the internal linux API, so I thought that was more relevant for the discussion.

most people who care about the API actually understand the difference.

> People often mix the concept of API and ABI,

you don't say ;).

> but as I already have said, they are not the same although they are clearly related concepts.
> Not sure how this confusion came about, but I guess I had one post where I was unclear.

this will be a fun day, keep it coming! ;)


Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds