diff -uNr util-linux-2.33/sys-utils/ipcutils.c util-linux-2.33.mod/sys-utils/ipcutils.c --- util-linux-2.33/sys-utils/ipcutils.c 2018-09-20 15:38:55.955404280 +0300 +++ util-linux-2.33.mod/sys-utils/ipcutils.c 2018-11-09 14:26:56.564588140 +0200 @@ -18,6 +18,9 @@ int ipc_msg_get_limits(struct ipc_limits *lim) { +#ifdef __ANDROID__ + return -1; +#else if (access(_PATH_PROC_IPC_MSGMNI, F_OK) == 0 && access(_PATH_PROC_IPC_MSGMNB, F_OK) == 0 && access(_PATH_PROC_IPC_MSGMAX, F_OK) == 0) { @@ -36,10 +39,14 @@ } return 0; +#endif } int ipc_sem_get_limits(struct ipc_limits *lim) { +#ifdef __ANDROID__ + return -1; +#else FILE *f; int rc = 0; @@ -65,10 +72,14 @@ } return 0; +#endif } int ipc_shm_get_limits(struct ipc_limits *lim) { +#ifdef __ANDROID__ + return -1; +#else lim->shmmin = SHMMIN; if (access(_PATH_PROC_IPC_SHMALL, F_OK) == 0 && @@ -92,10 +103,14 @@ } return 0; +#endif } int ipc_shm_get_info(int id, struct shm_data **shmds) { +#ifdef __ANDROID__ + return -1; +#else FILE *f; int i = 0, maxid; char buf[BUFSIZ]; @@ -200,17 +215,23 @@ if (i == 0) free(*shmds); return i; +#endif } void ipc_shm_free_info(struct shm_data *shmds) { +#ifdef __ANDROID__ + return; +#else while (shmds) { struct shm_data *next = shmds->next; free(shmds); shmds = next; } +#endif } +#ifndef __ANDROID__ static void get_sem_elements(struct sem_data *p) { size_t i; @@ -241,9 +262,13 @@ err(EXIT_FAILURE, _("%s failed"), "semctl(GETPID)"); } } +#endif int ipc_sem_get_info(int id, struct sem_data **semds) { +#ifdef __ANDROID__ + return -1; +#else FILE *f; int i = 0, maxid; struct sem_data *p; @@ -338,20 +363,28 @@ if (i == 0) free(*semds); return i; +#endif } void ipc_sem_free_info(struct sem_data *semds) { +#ifdef __ANDROID__ + return; +#else while (semds) { struct sem_data *next = semds->next; free(semds->elements); free(semds); semds = next; } +#endif } int ipc_msg_get_info(int id, struct msg_data **msgds) { +#ifdef __ANDROID__ + return -1; +#else FILE *f; int i = 0, maxid; struct msg_data *p; @@ -450,19 +483,27 @@ if (i == 0) free(*msgds); return i; +#endif } void ipc_msg_free_info(struct msg_data *msgds) { +#ifdef __ANDROID__ + return; +#else while (msgds) { struct msg_data *next = msgds->next; free(msgds); msgds = next; } +#endif } void ipc_print_perms(FILE *f, struct ipc_stat *is) { +#ifdef __ANDROID__ + return; +#else struct passwd *pw; struct group *gr; @@ -487,11 +528,15 @@ fprintf(f, " %-10s\n", gr->gr_name); else fprintf(f, " %-10u\n", is->gid); +#endif } void ipc_print_size(int unit, char *msg, uint64_t size, const char *end, int width) { +#ifdef __ANDROID__ + return; +#else char format[32]; if (!msg) @@ -530,4 +575,5 @@ if (end) printf("%s", end); +#endif }