¿Cómo encontrar implementaciones de llamada de sistema en Linux / Android 2.6.29?

Quiero modificar algunas llamadas de sistema con fines de rastreo. Para ser específico, cuando se realiza una llamada de sistema open , quiero imprimir algunos mensajes.

He estado buscando en Internet y el código y encontré open.c en el open.c kernel/goldfish/fs/ . Y hay muchas funciones en este archivo. ¿Cómo puedo saber qué función se está llamando exactamente. Podría haber escrito alguna llamada printk en todas estas funciones para encontrarlo, pero tengo que hacerlo para otras llamadas al sistema también.

Por lo tanto, tengo algunas preguntas,

1) ¿Cuál es la mejor manera de encontrar detalles de implementación de las llamadas al sistema?

2) Estoy usando el kernel 2.6.29 (goldfish-Android). ¿La implementación de las llamadas del sistema es diferente en las diferentes versiones del kernel?

3) strace me dice que se están realizando las llamadas al sistema msgget , msgrecv y SYS_24. Miro en el archivo de Android/bionic/libc/SYSCALLS.txt y msgget no está allí.

Pero cuando miro el archivo android/bionic/libc/kernel/arch-arm/asm/unistd.h , puedo encontrar el msgget allí. No puedo entender lo que está pasando y luego ¿cómo puedo encontrar la implementación de msgget ?

Gracias.

One Solution collect form web for “¿Cómo encontrar implementaciones de llamada de sistema en Linux / Android 2.6.29?”

Este enlace menciona casi todas las llamadas al sistema, sus argumentos y ubicaciones en los archivos respectivos. Me ayudó a encontrar los detalles de la llamada del sistema.

Y la respuesta de strace se da en los comentarios anteriores de Chris, gracias a él de nuevo.

  • Diferencias fundamentales entre el sistema operativo Linux y Mobile OS (android)
  • ¿Cómo modificar AOSP para permitir que aplicaciones específicas obtengan acceso de root?
  • Obtención de adiciones de invitados de vbox para android x86
  • Error al volver a embalar boot.img (Android)
  • ¿Cómo puedo crear un nuevo dispositivo de ratón virtual en mi dispositivo Android?
  • Linux rt- patch para Android de nadie?
  • Cómo depurar YAFFS?
  • SurfaceFlinger / gralloc Error de memoria insuficiente al asignar memoria intermedia para su uso con el buffer de marco virtual en Android x86 Turrón
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.