'bionic libc syscall'에 해당되는 글 1건

  1. 2012.11.08 Bionic libc (2)

a port of BSD C library to linux kernel with the following additions/changes:

- no support fo locales

- no support for wide chars (multi-byte characters)

- own smallish implementation of pthreads based on Linux futexes

- support fo x86, ARM, and ARM thumb cpu instruction sets and kernel interfaces

 

To add new syscalls:

Bionic provides the 'gensyscalls.py' script to automatically generate syscall stubs from the list defined in the file 'SYSCALLS.TXT'

To add a new syscall:

1. SYSCALL.TXT 수정

2. syscall에 대한 새로운 라인 추가:

return_type syscall_name(parameters)    syscall_number

3. syscall function과 entry name을 구분 짓고 싶으면:

return_type funcname:syscall_name(parameters)    syscall_number

4. 추가로 syscall number가 ARM 과 x86끼리 다르면,

return_type funcname[:syscall_name](parameters)    arm_number, x86_number

5. 플랫폼에 syscall이 구현안되었다고 나타내려면 -1을 사용하라.

void __set_tls(void*)    arm_number, -1     (예제)

 

자세한 내용은 SYSCALLS.TXT를 참조하고, 'checksyscalls.py'를 사용하여, syscall number를 제대로 사용하였는지 체크할 수도 있다.(리눅스 커널 헤더들안의 숫자와 비교한다.)

신고

'안드로이드 > 프레임워크' 카테고리의 다른 글

[Android] OTA DownloadProvider document  (0) 2013.10.18
Bionic libc (3)  (0) 2012.11.08
Bionic libc (2)  (0) 2012.11.08
Bionic libc  (0) 2012.10.30
안드로이드 init.rc (oom_adj값)  (0) 2012.09.27
Dalvik Virtual Machine 와 odex  (0) 2012.08.13
Posted by code cat

티스토리 툴바