On Thu, 2021-03-04 at 08:47 +0100, Johannes Berg wrote: On Thu, 2021-03-04 at 14:38 +0900, Hajime Tazaki wrote:
> > Now, I don't know how to fix it (short of changing your nsswitch > > configuration) - maybe we could somehow rename sem_init()? Or maybe > > we > > can somehow give the kernel binary a lower symbol resolution than > > the > > libc/libpthread. > > objcopy (from binutils) can localize symbols (i.e., objcopy -L > sem_init $orig_file $new_file). It also does renaming symbols. But > not sure this is the ideal solution. Yes, we started thinking about it but it was too late at night when I replied ... I think there's basically a way to have an external list of symbols to export, for symbol versioning, that we could/should use to basically not export any of the kernel symbols out to libs. Maybe using the ld --version-script= option here works to mark all kernel symbols as being "local" and prevent them from being picked up by libraries. Benjamin > How does UML handle symbol conflicts between userspace code and Linux > kernel (like this case sem_init) ? AFAIK, libnl has a same symbol as > Linux kernel (genlmsg_put) and others can possibly do as well. I fear it doesn't? johannes _______________________________________________ linux-um mailing list linux...@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-um
signature.asc
Description: This is a digitally signed message part