I've been experimenting with enabling CONFIG_GCC_PLUGINS in the kernel since I've heard some people express interest in stackleak (I'm interested as well). a gcc plugin gets built as an .so file for use during compilation. This means we need to package this .so file as part of kernel-devel for building external modules. This is easy to do but it also now introduces a tighter restriction on the toolchain used for building modules since gcc will refuse to load a plugin and fail to build the module if the versions don't match. Arguably, there's always been a requirement to use the same toolchain version but there may have been some flexibility for forcing it.
Can anyone see major problems with requiring the same toolchain version for building external modules as the kernel?
Thanks, Laura
On Thu, 14 Feb 2019 15:09:04 -0800 Laura Abbott labbott@redhat.com wrote:
Can anyone see major problems with requiring the same toolchain version for building external modules as the kernel?
If gcc is updated between Fedora kernel versions and someone wants to build a module, it would build but be unuseable? If that is true, then gcc updates should just be released at the same time as a kernel built with them to finesse the issue.
I suspect that this would be a rare issue in practice. Oops, I forgot about rpmfusion, where they do build modules, and akmod which builds modules automatically when a new kernel is released. That would make it more likely to occur, I think.
On 2/14/19 4:19 PM, stan wrote:
On Thu, 14 Feb 2019 15:09:04 -0800 Laura Abbott labbott@redhat.com wrote:
Can anyone see major problems with requiring the same toolchain version for building external modules as the kernel?
If gcc is updated between Fedora kernel versions and someone wants to build a module, it would build but be unuseable? If that is true, then gcc updates should just be released at the same time as a kernel built with them to finesse the issue.
I suspect that this would be a rare issue in practice. Oops, I forgot about rpmfusion, where they do build modules, and akmod which builds modules automatically when a new kernel is released. That would make it more likely to occur, I think.
Yes, that was the case I was concerned about with gcc being updated. I guess the case would be where the kernel gets built with a different gcc that isn't yet on a local system. Doing a batched bodhi update could fix this for stable releases but we don't have that on rawhide. Requiring the sync also seems like a pain to deal with.
Laura
On Gearr 18, 2019 aig 12:26:04f -0800, sgrìobh Laura Abbott:
Yes, that was the case I was concerned about with gcc being updated. I guess the case would be where the kernel gets built with a different gcc that isn't yet on a local system. Doing a batched bodhi update could fix this for stable releases but we don't have that on rawhide. Requiring the sync also seems like a pain to deal with.
Laura
So, just out of curiosity, why can't these be in their own rpm(s) that get updated every time gcc does? If I'm reading you correctly, the gcc modules are dependent on gcc, not the kernel features on specific versions of the gcc modules.
-- Tapadh leabh, Dulaney.
On 2/19/19 10:47 AM, Dulaney wrote:
On Gearr 18, 2019 aig 12:26:04f -0800, sgrìobh Laura Abbott:
Yes, that was the case I was concerned about with gcc being updated. I guess the case would be where the kernel gets built with a different gcc that isn't yet on a local system. Doing a batched bodhi update could fix this for stable releases but we don't have that on rawhide. Requiring the sync also seems like a pain to deal with.
Laura
So, just out of curiosity, why can't these be in their own rpm(s) that get updated every time gcc does? If I'm reading you correctly, the gcc modules are dependent on gcc, not the kernel features on specific versions of the gcc modules.
No, these plugins are tied to the kernel itself and can be updated with each kernel version. They need to exist in the kernel spec file at kernel build time. They aren't dependent on the gcc version per se but they need to get rebuilt each time there is a new gcc.
Thanks, Laura
kernel@lists.fedoraproject.org