https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=207898

Jilles Tjoelker <jil...@freebsd.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jil...@freebsd.org

--- Comment #2 from Jilles Tjoelker <jil...@freebsd.org> ---
There is another MD aspect of the kernel linker: whether kernel modules are
object files (file says "ELF xx-bit yyy relocatable") or DSOs (file says "ELF
xx-bit yyy shared object"). Of the architectures you are looking at, i386 uses
DSOs and amd64 uses object files.

Using object files may reduce overhead slightly but bypasses functionality that
may be useful. For example, DSOs have a symbol table for dynamic linking
separate from the one for debugging, while object files only have a single
symbol table. Although there is a flag for static (local) symbols, the kernel
linker ignores it and some code may have started abusing this ignoring.

Note that, although i386 kernel modules are DSOs, they are not PIC and do not
use a GOT and PLT. Therefore, there is no overhead from the DSO format while
running the code.

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
freebsd-bugs@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"

Reply via email to