助けてください。私は Android マシュマロ (6.0) のソース コードを扱っており、アプリケーションを移植するための Linux メッセージ キューと共有メモリ関連のシステム コールのサポートが必要です。以前は Kitkat のソース コードを使用していましたが、その中で動作していました。
そのために私が行った手順は次のとおりです。
- /BSP/Bionic/libc/SYSCALLS.TXT に syscall を追加
- gensyscalls.py スクリプトを使用して生成された asm スタブ。
- エラー libc なしでコンパイルされましたが、生成された libc.so には追加されたシンボルが含まれていません。
前もって感謝します。
/BSP/Bionic/libc/SYSCALLS.TXT に追加された Syscall:
- int semctl(int semid, int semnum, int cmd, ...) すべて
- int semget(key_t key, int nsems, int semflg) すべて
- int semop(int semid, struct sembuf* sops, size_t nsops) すべて
- void* shmat(int shmid, const void* shmaddr, int shmflg) すべて
- int shmctl(int shmid, int cmd, struct shmid_ds* buf) すべて
- int shmdt(const void* shmaddr) すべて
- int shmget(key_t キー, size_t サイズ, int shmflg) すべて
- int msgctl(int msqid, int cmd, struct msqid_ds *buf) すべて
- int msgget(key_t key, int msgflg) すべて
- int msgrcv(int msqid, void* msgp, size_t msgsz, long int msgtyp, int msgflg) すべて
- int msgsnd(int msqid, const void* msgp, size_t msgsz, int msgflg) すべて