PR 1839/filesystem
* libcsupport/include/rtems/libio_.h, libcsupport/src/fchdir.c,
libcsupport/src/fdatasync.c, libcsupport/src/fpathconf.c,
libcsupport/src/fsync.c, libcsupport/src/ftruncate.c,
libcsupport/src/read.c, libcsupport/src/readv.c,
libcsupport/src/write.c, libcsupport/src/writev.c: Some calls did not
return proper status for permission errors or incorrectly permissions
at all.
* libcsupport/src/malloc_initialize.c: After discussion with Till
Straumann, revert the change from r1.12 to r1.13. This broke BSPs
with sbrk() support once the libbsp sbrk() framework was enhanced.
psim runs now.
* libcsupport/src/mknod.c, libfs/src/rfs/rtems-rfs-inode.c: PR
1749. Fix the incorrect handling of the file type in the mode
value to reject invalid types as per the standard.
* libcsupport/src/newlibc_exit.c, score/src/threadhandler.c: Revert
previous commit due to too many broken linker command files. The
HAVE_INITFINI_ARRAY is defined for nearly all targets by Newlib, but
only few linker command files respect this.
* libcsupport/src/ctermid.c: Add comment explaining that this use of
strcpy() is a potential buffer overrun but because the API does not
provide a way to know the length of the user provided buffer, there
is nothing we can do about it.
Coverity Id 93/NO_EFFECT
Coverity Id 94/NO_EFFECT
* libcsupport/src/readv.c, libcsupport/src/writev.c: size_t is unsigned
so it is useless to check for < 0.
PR 1661/testing
* libcsupport/Makefile.am, libcsupport/include/rtems/libcsupport.h: Add
public methods to get/set malloc heap pointer so the tests do not
have to peer behind the API.
* libcsupport/src/mallocgetheapptr.c,
libcsupport/src/mallocsetheapptr.c: New files.
PR 1649/cpukit
* libcsupport/Makefile.am, libcsupport/src/getgid.c: Make sure all get
and set gid and egid routines are present and in their own files.
* libcsupport/src/setegid.c, libcsupport/src/setgid.c: New files.
PR 1645/cpukit
* libcsupport/src/getuid.c: Moved setuid() routine to its own
file.
* libcsupport/src/setuid.c: New file with setuid() routine.
* libcsupport/src/seteuid.c: New file with seteuid() routine.
* libcsupport/src/fstat.c, libcsupport/src/rmdir.c,
libfs/src/imfs/imfs.h, libfs/src/imfs/imfs_creat.c,
libfs/src/imfs/imfs_debug.c, libfs/src/imfs/imfs_getchild.c,
libfs/src/imfs/memfile.c: Add IMFS_assert. Clean up and remove all
checks which are redundant with system call layer. Formatting.
* libcsupport/src/privateenv.c, libmisc/cpuuse/cpuusagereport.c,
posix/Makefile.am, posix/include/rtems/posix/key.h,
posix/src/keycreate.c, posix/src/keydelete.c,
score/src/iterateoverthreads.c: Since removing ITRON, the loop over
all APIs for tasks has a path that cannot be reached. Either modify
the code or mark tests for NULL as RTEMS_DEBUG.
* posix/src/keyfreememory.c: New file.
* libcsupport/Makefile.am, libcsupport/src/termios_baud2num.c,
libcsupport/src/termios_num2baud.c: Use RTEMS associations to
simplify code and make easier for coverage.
* libcsupport/src/termios_baudtable.c: New file.