Skip to content

[question] How is lklfuse.o linked with liblkl.a? #17

@petrosagg

Description

@petrosagg

While building this project I noticed the following weird result. When I run strings liblkl.a | grep lkl_sys | sort -u I get the following syscalls:

lkl_sys_access
lkl_syscall
lkl_sys_close
lkl_sys_getdents64
lkl_sys_halt
lkl_sys_mkdir
lkl_sys_mknod
lkl_sys_mount
lkl_sys_nanosleep
lkl_sys_open
lkl_sys_read
lkl_sys_rmdir
lkl_sys_umount
lkl_sys_unlink

However, lklfuce.c refers to a lot of extra lkl_sys_* functions. One example is lkl_sys_chown. I ran find -type f|xargs grep lkl_sys_chown on the whole linux tree that includes my built objects and the only references to this function were in lklfuse.c, lklfuse.o and lklfuse.

How is this linking happening? And why only this specific set of syscalls appears in the output of strings? I couldn't find anything unique about their definition either.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions