xref: /freebsd/contrib/arm-optimized-routines/string/README.contributors (revision 072a4ba82a01476eaee33781ccd241033eefcf0b)
1*072a4ba8SAndrew TurnerSTYLE REQUIREMENTS
2*072a4ba8SAndrew Turner==================
3*072a4ba8SAndrew Turner
4*072a4ba8SAndrew Turner1. Most code in this sub-directory is expected to be upstreamed into glibc so
5*072a4ba8SAndrew Turner   the GNU Coding Standard and glibc specific conventions should be followed
6*072a4ba8SAndrew Turner   to ease upstreaming.
7*072a4ba8SAndrew Turner
8*072a4ba8SAndrew Turner2. ABI and symbols: the code should be written so it is suitable for inclusion
9*072a4ba8SAndrew Turner   into a libc with minimal changes. This e.g. means that internal symbols
10*072a4ba8SAndrew Turner   should be hidden and in the implementation reserved namespace according to
11*072a4ba8SAndrew Turner   ISO C and POSIX rules. If possible the built shared libraries and static
12*072a4ba8SAndrew Turner   library archives should be usable to override libc symbols at link time (or
13*072a4ba8SAndrew Turner   at runtime via LD_PRELOAD). This requires the symbols to follow the glibc ABI
14*072a4ba8SAndrew Turner   (other than symbol versioning), this cannot be done reliably for static
15*072a4ba8SAndrew Turner   linking so this is a best effort requirement.
16*072a4ba8SAndrew Turner
17*072a4ba8SAndrew Turner3. API: include headers should be suitable for benchmarking and testing code
18*072a4ba8SAndrew Turner   and should not conflict with libc headers.
19*072a4ba8SAndrew Turner
20*072a4ba8SAndrew Turner
21*072a4ba8SAndrew TurnerCONTRIBUTION GUIDELINES FOR string SUB-DIRECTORY
22*072a4ba8SAndrew Turner================================================
23*072a4ba8SAndrew Turner1. Code:
24*072a4ba8SAndrew Turner   - The assumptions of the code must be clearly documented.
25*072a4ba8SAndrew Turner
26*072a4ba8SAndrew Turner   - Assembly style should be consistent across different implementations.
27*072a4ba8SAndrew Turner
28*072a4ba8SAndrew Turner
29*072a4ba8SAndrew Turner2. Performance:
30*072a4ba8SAndrew Turner   - Benchmarking is needed on several microarchitectures.
31