File: PORTING

package info (click to toggle)
dietlibc 0.34~cvs20160606-10
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, buster, sid
  • size: 11,336 kB
  • sloc: ansic: 71,631; asm: 13,006; cpp: 1,860; makefile: 799; sh: 292; perl: 62
file content (31 lines) | stat: -rw-r--r-- 1,043 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
To port the diet libc to a new architecture, you need to:

  - edit Makefile to detect the architecture
  - create a directory for the architecture, and put a Makefile.add in
    it.  Look at the other Makefile.adds for guidance.
  - provide start.S (the start code, look at glibc)
  - provide unified.S (the unified syscall)
  - provide syscalls.h (the syscall numbers, from asm/unistd.h)
  - provide setjmp and longjmp
  - edit include/setjmp.h
  - pipe, clone and mmap often need special care
  - edit include/sys/ioctl.h
  - edit include/sys/ptrace.h
  - edit include/asm/sigcontext.h
  - edit include/sys/ucontext.h
  - edit include/endian.h
  - edit include/fcntl.h
  - edit include/sys/mman.h
  - edit include/sys/shm.h
  - edit include/sys/stat.h
  - edit include/sys/tls.h
  - edit include/errno.h
  - edit syscalls.h
  - edit include/termios.h
  - edit lib/__get_cur_tcb.c
  - edit diet.c to make it recognize the architecture and add proper
    CFLAGS
  - edit libcompat/syscall.S
  - edit include/fenv.h

(I may have missed a few)