
In message 463112C4.50603@freescale.com you wrote:
You agree that static linking against a non-GPL library is illegal?
Yes, but just merging two binaries into a new binary isn't "linking", IMHO. For there to be linking, project A must include parts of project B. Just having A make a function call to B is not linking, otherwise proprietary applications would never be able to make syscalls into the kernel.
Merging two binaries into one, so that A can make function calls into B *is* linking if the function of A depends on the results of the function calls of B.
Linux system calls is an explicitely exported interface so it is OK to use this from application code.
What does static linking against a NON-GPL library mean? You combine the U-Boot image and the library image in some way, or load the library image into memory, then you call a function from that library, and just execute it, and that library function runs without calling U-Boot code, and then the library function returns, that's ... ...a GPL violation.
Well, I'm not lawyer, and so I don't really know for sure, but I would disagree. After all, calling the library function is nothing more than loading a number into the PC register. I don't really see how that alone can be considered linking.
Please do yourself a favour and re-read the GPL.
Best regards,
Wolfgang Denk