Merge branch 'master' of /opt/gnu-chroot/home/dtbartle/glibc-opensolaris
[kopensolaris-gnu/glibc.git] / TODO.opensolaris
1 /usr/include/gnu/stubs-32.h
2
3 ptrace details:
4   /proc/PID/{as,ctl,status,sigact,psinfo}
5   PTRACE_PEEK, PTRACE_PEEKDATA: pread(as)
6   PTRACE_PEEKUSR: user_t
7   PTRACE_POKETEXT, PTRACE_POKEDATA: pwrite(as)
8   PTRACE_POKEUSR: user_t
9   PTRACE_CONT:
10   PTRACE_KILL:
11
12   ctl is managed via PC* constants (e.g. PCSTRACE)
13     write command (long) followed by struct
14
15 These are solaris extensions that we should implement:
16   door_*
17   modctl
18   _sharefs
19   _cladm (sys/cladm.h)
20   exportfs, nfs_getfh, nfssvc [SYS_nfssys] (sys/nfssec.h) [maybe not]
21   lgrpsys
22   gethomelgroup
23   atomic_*
24   membar_*
25   defopen, defread
26   _ttyname_dev
27
28 Insert into headers:
29   resolvpath (unistd.h)
30   issetugid (unistd.h)
31   strlcpy, strlcat (string.h or strings.h)
32   getvmusage (sys/vm_usage.h)
33   uucopy, uucopystr (string.h or strings.h)
34   sysi86 (sys/sysi86.h - see below)
35   str2sig, sig2str (signal.h)
36   getexecname (stdlib.h)
37
38 INVALID_NOT_TERMINATED_TD_P expects to succeed on terminated threads
39
40 More __builtin_expect's
41
42 Since we now use an entirely libc-based rwlock implementation we should be able
43   to support PTHREAD_RWLOCK_PREFER_READER_NP, PTHREAD_RWLOCK_PREFER_WRITER_NP,
44   and PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP.
45
46 More clocks in pthread_condattr_setclock
47
48 List of CDDL headers needed to compile random stuff:
49   sys/dlpi.h [Should be LGPL'd]
50   sys/sysi86.h [Should be LGPL'd]
51   sys/ctf_api.h [libctf]
52   libctf.h [libctf]
53   sys/ctf.h [libctr[
54   libproc.h [libproc]
55   libelf.h [libelf]
56   gelf.h [libelf; need to add Elf64_Cap]
57   sys/tiuser.h
58   sys/tpicommon.h
59   sys/timod.h
60   netconfig.h [libnsl]
61   sys/netconfig.h [libnsl]
62   netdir.h [libnsl]
63   libuutil.h [libuutil]
64   libuutil_impl.h [libuutil]
65   sys/avl.h [libavl]
66   sys/avl_impl.h [libavl]
67   auth_attr.h [libsecdb]
68   user_attr.h [libsecdb]
69   prof_attr.h [libsecdb]
70   secdb.h [libsecdb]
71   libnvpair.h [libnvpair]
72   sys/nvpair.h [libnvpair]
73   sys/nvpair_impl.h [libnvpair]
74   project.h [libproject]
75   sys/aio.h
76   sys/aio_impl.h
77
78 Use cond_t data field for broadcast seqence
79
80 Use timer_* syscalls
81
82 Instead of AT_SECURE we can use AF_SUN_SETUGID [AT_SUN_AUXFLAGS]
83
84 We can't _exit if the main thread goes away since we have daemon threaeds (THR_DAEMON)
85
86 The following are needed by xorg:
87
88   sys/vuid_event.h
89   sys/vuid_queue.h
90   sys/vuid_state.h
91   sys/vuid_store.h
92   sys/vuid_wheel.h
93   sys/msio.h
94   sys/psw.h
95   sys/spl.h
96   sys/audio.h
97   sys/audioio.h
98   ia32/sys/asm_linkage.h
99   sys/sysi86.h
100   sys/kbd.h
101
102 Implement libc-private __priv interface:
103
104     void __priv_free_info (void *data);
105
106     void * __priv_getbynum (priv_data_t *data, int num);
107
108     priv_data_t * __priv_getdata (void);
109
110     int __priv_getsetbyname (const char *name);
111
112     __priv_getsetbynum (priv_data_t *data, int num);
113
114     priv_data_t * __priv_parse_info (priv_impl_info_t *pii);