mirror_zfs/config
Richard Yao 0a6b03d3b8 Fix build failures on PaX/GRSecurity patched kernels
Gentoo Hardened kernels include the PaX/GRSecurity patches. They use a
dialect of C that relies on a GCC plugin. In particular, struct
file_operations has been marked do_const in the PaX/GRSecurity dialect,
which causes GCC to consider all instances of it as const. This caused
failures in the autotools checks and the ZFS source code.

To address this, we modify the autotools checks to take into account
differences between the PaX C dialect and the regular C dialect. We also
modify struct zfs_acl's z_ops member to be a pointer to a function
pointer table. Lastly, we modify zpl_put_link() to address a PaX change
to the function prototype of nd_get_link().  This avoids compiler errors
in the PaX/GRSecurity dialect.

Note that the change in zpl_put_link() causes a warning that becomes a
build failure when debugging is enabled. Fixing that warning requires
ryao/spl@5ca50ef459.

Signed-off-by: Richard Yao <ryao@cs.stonybrook.edu>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #484
2012-07-17 09:22:43 -07:00
..
always-no-unused-but-set-variable.m4 In autoconf v2.68, AC_LANG_PROGRAM must be quoted 2011-11-28 11:16:33 -08:00
arch.am Add make rule for building Arch Linux packages 2011-12-14 19:14:23 -08:00
config.awk Add build system 2010-08-31 13:41:27 -07:00
config.guess Add initial autoconf products 2010-08-31 13:42:02 -07:00
config.sub Add initial autoconf products 2010-08-31 13:42:02 -07:00
deb.am Avoid 'rpm -q' bug for 'make pkg' 2011-07-01 12:39:25 -07:00
depcomp Add initial autoconf products 2010-08-31 13:42:02 -07:00
install-sh Add initial autoconf products 2010-08-31 13:42:02 -07:00
kernel-automount.m4 Add .zfs control directory 2012-03-22 13:03:47 -07:00
kernel-bdev-block-device-operations.m4 Fix configure tests to play nice with GCC 4.6 2011-11-29 16:14:25 -08:00
kernel-bdev-logical-size.m4 Fix configure tests to play nice with GCC 4.6 2011-11-29 16:14:25 -08:00
kernel-bdi-setup-and-register.m4 Simplify BDI integration 2011-11-08 10:19:03 -08:00
kernel-bdi.m4 Add backing_device_info per-filesystem 2011-08-04 13:37:38 -07:00
kernel-bio-empty-barrier.m4 Add build system 2010-08-31 13:41:27 -07:00
kernel-bio-end-io-t-args.m4 Fix gcc configure warnings 2011-04-19 10:10:47 -07:00
kernel-bio-failfast.m4 Fix gcc configure warnings 2011-04-19 10:10:47 -07:00
kernel-bio-rw-syncio.m4 Fix gcc configure warnings 2011-04-19 10:10:47 -07:00
kernel-blk-end-request.m4 Fix configure tests to play nice with GCC 4.6 2011-11-29 16:14:25 -08:00
kernel-blk-fetch-request.m4 Fix configure tests to play nice with GCC 4.6 2011-11-29 16:14:25 -08:00
kernel-blk-queue-discard.m4 Add support for DISCARD to ZVOLs. 2012-02-09 16:19:38 -08:00
kernel-blk-queue-flush.m4 Fix synchronicity for ZVOLs. 2012-02-07 16:23:06 -08:00
kernel-blk-queue-io-opt.m4 Improve ZVOL queue behavior. 2012-02-07 16:23:06 -08:00
kernel-blk-queue-max-hw-sectors.m4 Improve ZVOL queue behavior. 2012-02-07 16:23:06 -08:00
kernel-blk-queue-max-segments.m4 Improve ZVOL queue behavior. 2012-02-07 16:23:06 -08:00
kernel-blk-queue-nonrot.m4 Improve ZVOL queue behavior. 2012-02-07 16:23:06 -08:00
kernel-blk-queue-physical-block-size.m4 Improve ZVOL queue behavior. 2012-02-07 16:23:06 -08:00
kernel-blk-requeue-request.m4 Fix configure tests to play nice with GCC 4.6 2011-11-29 16:14:25 -08:00
kernel-blk-rq-bytes.m4 Fix configure tests to play nice with GCC 4.6 2011-11-29 16:14:25 -08:00
kernel-blk-rq-pos.m4 Fix configure tests to play nice with GCC 4.6 2011-11-29 16:14:25 -08:00
kernel-blk-rq-sectors.m4 Fix configure tests to play nice with GCC 4.6 2011-11-29 16:14:25 -08:00
kernel-blkdev-get-by-path.m4 Linux 2.6.38 compat, blkdev_get_by_path() 2011-02-23 12:29:38 -08:00
kernel-blkdev-get.m4 Move partition scanning from userspace to module. 2012-07-17 09:17:31 -07:00
kernel-check-disk-size-change.m4 Fix 'zfs set volsize=N pool/dataset' 2011-05-02 08:54:40 -07:00
kernel-create-umode-t.m4 Linux 3.3 compat, iops->create()/mkdir()/mknod() 2012-04-30 12:52:38 -07:00
kernel-d-make-root.m4 Linux 3.4 compat, d_make_root() replaces d_alloc_root() 2012-06-11 10:04:49 -07:00
kernel-d-obtain-alias.m4 Implemented NFS export_operations. 2011-04-29 12:36:13 -07:00
kernel-evict-inode.m4 Fix build failures on PaX/GRSecurity patched kernels 2012-07-17 09:22:43 -07:00
kernel-fallocate.m4 Fix build failures on PaX/GRSecurity patched kernels 2012-07-17 09:22:43 -07:00
kernel-fmode-t.m4 Fix gcc configure warnings 2011-04-19 10:10:47 -07:00
kernel-fsync.m4 Fix build failures on PaX/GRSecurity patched kernels 2012-07-17 09:22:43 -07:00
kernel-get-disk-ro.m4 Fix configure tests to play nice with GCC 4.6 2011-11-29 16:14:25 -08:00
kernel-get-gendisk.m4 Move partition scanning from userspace to module. 2012-07-17 09:17:31 -07:00
kernel-insert-inode-locked.m4 Linux 2.6.28 compat, insert_inode_locked() 2011-03-22 12:15:54 -07:00
kernel-invalidate-bdev-args.m4 Fix gcc configure warnings 2011-04-19 10:10:47 -07:00
kernel-kobj-name-len.m4 Fix gcc configure warnings 2011-04-19 10:10:47 -07:00
kernel-mount-nodev.m4 Linux compat 2.6.39: mount_nodev() 2011-07-01 13:36:39 -07:00
kernel-open-bdev-exclusive.m4 Add build system 2010-08-31 13:41:27 -07:00
kernel-rq-for-each_segment.m4 Fix configure tests to play nice with GCC 4.6 2011-11-29 16:14:25 -08:00
kernel-rq-is_sync.m4 Fix configure tests to play nice with GCC 4.6 2011-11-29 16:14:25 -08:00
kernel-security-inode-init.m4 Linux 3.2 compat, security_inode_init_security() 2012-01-12 15:06:39 -08:00
kernel-set-nlink.m4 Linux 3.2 compat: set_nlink() 2011-12-16 20:02:52 -08:00
kernel-show-options.m4 Linux 3.3 compat, sops->show_options() 2012-02-03 10:02:01 -08:00
kernel-shrink.m4 Linux 3.1 compat, super_block->s_shrink 2012-01-11 11:46:02 -08:00
kernel-truncate-setsize.m4 Tear down and flush the mmap region 2011-06-27 09:59:19 -07:00
kernel-xattr-handler.m4 Fix gcc configure warnings 2011-04-19 10:10:47 -07:00
kernel.m4 Move partition scanning from userspace to module. 2012-07-17 09:17:31 -07:00
ltmain.sh Fix executable permissions 2012-03-26 11:52:44 -07:00
missing Add initial autoconf products 2010-08-31 13:42:02 -07:00
rpm.am Add --enable-debug-dmu-tx configure option 2012-03-23 12:25:17 -07:00
Rules.am Check for -Wno-unused-but-set-variable gcc support 2011-06-14 14:43:22 -07:00
suppressed-warnings.txt Suppress packaging warning 2011-11-08 11:32:04 -08:00
tgz.am Avoid 'rpm -q' bug for 'make pkg' 2011-07-01 12:39:25 -07:00
user-arch.m4 Add build system 2010-08-31 13:41:27 -07:00
user-frame-larger-than.m4 In autoconf v2.68, AC_LANG_PROGRAM must be quoted 2011-11-28 11:16:33 -08:00
user-ioctl.m4 Add build system 2010-08-31 13:41:27 -07:00
user-libblkid.m4 In autoconf v2.68, AC_LANG_PROGRAM must be quoted 2011-11-28 11:16:33 -08:00
user-libuuid.m4 Add build system 2010-08-31 13:41:27 -07:00
user-nptl_guard_within_stack.m4 In autoconf v2.68, AC_LANG_PROGRAM must be quoted 2011-11-28 11:16:33 -08:00
user-selinux.m4 Autoconf selinux support 2011-01-28 12:45:19 -08:00
user-udev.m4 Move udev rules from /etc/udev to /lib/udev 2011-08-08 16:21:10 -07:00
user-zlib.m4 Add build system 2010-08-31 13:41:27 -07:00
user.m4 Move udev rules from /etc/udev to /lib/udev 2011-08-08 16:21:10 -07:00
zfs-build.m4 Add --enable-debug-dmu-tx configure option 2012-03-23 12:25:17 -07:00
zfs-meta.m4 Add build system 2010-08-31 13:41:27 -07:00