トレースのためにいくつかのシステム コールを変更したいと考えています。具体的には、システムコールopenが行われるたびに、いくつかのメッセージを出力したいと考えています。
私はインターネットとコードを調べていてopen.c、kernel/goldfish/fs/ディレクトリで見つけました。そして、このファイルには多くの機能があります。どの関数が正確に呼び出されているかをどのように知ることができますか。これらすべての関数でそれを見つけるためにいくつかの呼び出しを書くこともできprintkましたが、他のシステム呼び出しに対してもそれを行う必要があります。
そこで、いくつか質問があるのですが、
1) システムコールの実装の詳細を見つける最良の方法は何ですか?
2) カーネル 2.6.29 (goldfish-Android) を使用しています。システムコールの実装は、カーネルのバージョンによって異なりますか?
3)と' straceSYS_24 ' システム コールが実行されていることがわかります。ファイルを調べたところ、msgget がありません。msggetmsgrecvAndroid/bionic/libc/SYSCALLS.txt
しかし、android/bionic/libc/kernel/arch-arm/asm/unistd.hファイルを調べると、msggetそこにあることがわかります。何が起こっているのか理解できません。どうすれば の実装を見つけることができますmsggetか?
ありがとう。