mirror_zfs/lib/libspl/include/sys
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
..
dktp Remove autotools products 2012-08-27 11:47:44 -07:00
acl_impl.h Add linux libspl support 2010-08-31 13:41:59 -07:00
acl.h Add linux libspl support 2010-08-31 13:41:59 -07:00
bitmap.h cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
byteorder.h codebase style improvements for OpenZFS 6459 port 2017-01-22 13:25:40 -08:00
callb.h cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
cmn_err.h cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
compress.h cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
cred.h cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
debug.h cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
dkio.h Fix spelling 2017-01-03 11:31:18 -06:00
dklabel.h Fix spelling 2017-01-03 11:31:18 -06:00
feature_tests.h cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
file.h Illumos Crypto Port module added to enable native encryption in zfs 2016-07-20 10:43:30 -07:00
frame.h cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
int_limits.h cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
int_types.h cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
inttypes.h cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
isa_defs.h libspl: Fix incorrect use of platform defines on sparc64 2017-03-22 17:55:00 -07:00
kmem.h cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
kstat.h Revert "Add txgs-<pool> kstat file" 2013-10-25 13:57:25 -07:00
list_impl.h Add linux libspl support 2010-08-31 13:41:59 -07:00
list.h Add linux libspl support 2010-08-31 13:41:59 -07:00
Makefile.am OpenZFS 5997 - FRU field not set during pool creation and never updated 2016-08-12 13:06:48 -07:00
mhd.h Add linux libspl support 2010-08-31 13:41:59 -07:00
mkdev.h cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
mnttab.h Change /etc/mtab to /proc/self/mounts 2016-09-20 10:07:58 -07:00
mount.h Add temporary mount options 2015-09-03 14:14:55 -07:00
note.h Add linux libspl support 2010-08-31 13:41:59 -07:00
param.h ABD optimized page allocation code 2016-11-29 14:34:33 -08:00
policy.h Illumos 3897 - zfs filesystem and snapshot limits 2015-04-28 16:22:51 -07:00
priv.h cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
processor.h cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
stack.h cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
stat.h cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
stropts.h cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
sunddi.h Add linux libspl support 2010-08-31 13:41:59 -07:00
sysmacros.h glibc 2.5 compat: use correct header for makedev() et al. 2017-03-31 09:32:00 -07:00
systeminfo.h cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
systm.h cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
time.h OpenZFS 6672 - arc_reclaim_thread() should use gethrtime() 2016-05-06 09:35:52 -07:00
types32.h Add linux libspl support 2010-08-31 13:41:59 -07:00
types.h glibc 2.5 compat: use correct header for makedev() et al. 2017-03-31 09:32:00 -07:00
tzfile.h Add linux libspl support 2010-08-31 13:41:59 -07:00
uio.h cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
va_list.h Replace __va_list with va_list 2014-08-13 10:35:00 -07:00
varargs.h cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
vnode.h cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
vtoc.h Fix for access beyond end of device error 2010-11-10 21:29:07 -08:00
zone.h cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00