freebsd-dev/lib
Olaf Faaland 10cb2e0a19 glibc 2.5 compat: use correct header for makedev() et al.
In glibc 2.5, makedev(), major(), and minor() are defined in
sys/sysmacros.h.  They are also defined in types.h for backward
compatability, but using these definitions triggers a compile warning.
This breaks the ZFS build, as it builds with -Werror.

autoconf email threads indicate these macros may be defined in
sys/mkdev.h in some cases.

This commit adds configure checks to detect where makedev() is defined:
  sys/sysmacros.h
  sys/mkdev.h

It assumes major() and minor() are defined in the same place.

The libspl types.h then includes
	sys/sysmacros.h (preferred) or
	sys/mkdev.h (2nd choice)
if one of those defines makedev().

This is done before including the system types.h.

An alternative would be to remove uses of major, minor, and makedev,
instead comparing the st_dev returned from stat64.  These configure
checks would then be unnecessary.

This change revealed that __NORETURN was being defined unnecessarily in
libspl/include/sys/sysmacros.h.  That definition is removed.

The files in which __NORETURN are used all include types.h, and so all
will get the definition provided by feature_tests.h

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Olaf Faaland <faaland1@llnl.gov>
Closes #5945
2017-03-31 09:32:00 -07:00
..
libavl Support parallel build trees (VPATH builds) 2015-07-17 13:42:51 -07:00
libefi Fixes for issues found with cppcheck tool 2016-07-27 13:31:22 -07:00
libicp OpenZFS 4185 - add new cryptographic checksums to ZFS: SHA-512, Skein, Edon-R 2016-10-03 14:51:15 -07:00
libnvpair codebase style improvements for OpenZFS 6459 port 2017-01-22 13:25:40 -08:00
libshare Fix nfs snapdir automount 2017-03-08 09:26:33 -08:00
libspl glibc 2.5 compat: use correct header for makedev() et al. 2017-03-31 09:32:00 -07:00
libunicode Support parallel build trees (VPATH builds) 2015-07-17 13:42:51 -07:00
libuutil Fix coverity defects: CID 147629 2016-11-08 16:41:31 -08:00
libzfs OpenZFS 7990 - libzfs: snapspec_cb() does not need to call zfs_strdup() 2017-03-28 17:22:46 -07:00
libzfs_core OpenZFS 7745 - print error if lzc_* is called before libzfs_core_init 2017-01-31 10:48:45 -08:00
libzpool Fix 'zdb -o' segmentation fault 2017-03-23 18:57:54 -07:00
Makefile.am Illumos Crypto Port module added to enable native encryption in zfs 2016-07-20 10:43:30 -07:00