请帮忙。我正在使用 Android marshmallow (6.0) 源代码,我需要一个 linux 消息队列和共享内存相关的系统调用支持来支持要移植的应用程序。以前我使用的是 Kitkat 源代码并且它正在工作。
我为此做的步骤是:
- 在 /BSP/Bionic/libc/SYSCALLS.TXT 中添加了系统调用
- 使用 gensyscalls.py 脚本生成的 asm 存根。
- 编译没有错误 libc 但生成的 libc.so 不包含添加的符号。
提前致谢。
/BSP/Bionic/libc/SYSCALLS.TXT 中添加的系统调用:
- 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 key, size_t size, int shmflg) all
- 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) 所有