Furthering my investagation into why my vendor supplied kernel modules were failing to load due to the error "Unknown symbol __stack_chk_fail (err 0)," I conducted the following experiment:
1: I took the sample code from poky/meta-skeleton/recipes-kernel/helo-mod and moved it into a new layer as meta-ron/recipes-kernel/ron-mod, renaminging and modifying the files from hello to ron as needed. 2: I added a new, otherwise dead, function to the (now named) ron.c function that made a call to __stack_check_fail, which I declared as "extern." 3: Included it into a new image the same way I've been pulling my vendor kernel modules in. When I did this, and ran the resulting image in qemu, I confirmed that when I attempt to insmod the installed ron.ko, I get the same "Unknown symbol __stack_chk_fail (err 0)" error. This was built with the unmodified Makefile (other than changing the target name) supplied in the skeleton example, so it should have been pulling in all of the libraries etc. So, it appears that even following this procedure the functions from panic.c aren't getting included in the built module. And, while I can continue to work around this with an empty stub version of __stack_chk_fail(), this leaves me with a module that responds to stack issues by ignoring them and continuing rather than causing a kernel panic, which I suspect would be a much more useful behavior in the long term. Any ideas how to proceed? Ron Oakes -- _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto