2
私はFreeBSDの初心者です。 VMにFreeBSD-11.0-RELEASE-amd64をインストールしました。 最初に新しいシステムコールを追加したいと思います。先週のmy postです 今、私はカーネルを構築したいと思います。私はhandbookを参照してください。 しかし、コマンドmake buildkernel
で、エラーを示しています!FreeBSD-11.0-RELEASE-amd64で新しいシステムコールを追加します。
mykern.c
#include <sys/sysproto.h>
#include <sys/param.h>
#include <sys/types.h>
#include <sys/systm.h>
#include <sys/module.h>
#include <sys/kernel.h>
#include <sys/proc.h>
#include <sys/sysent.h>
#ifndef _SYS_SYSPROTO_H_
struct myargs {
unsigned int k0;
unsigned int k1;
};
#endif
int func (struct thread *td, void *args)
{
struct myargs *uap;
uap = (struct myargs *)args;
printf("Hello");
return (0);
}
最初のエラーが
/usr/src/sys/kern/mykern.c:12:5: error:no previous prototype for function 'func' [-Werror, -Wmissing-prototypes]
int func(struct thread *p, struct myargs *uap)
だったmykern.cに私は、インラインに関数を編集します。
inline int func (struct thread *td, void *args)
そして今、新しいエラー:
init sysent.o:(.data 0xg720): undefined refrence to 'sys_func'
そして、私はコマンドを入力し
make init_sysent.c
'init_sysent.c' is up to date
いいえご存知ですか?経験なし? – user7194905