diff options
author | Dmitry V. Levin <ldv@altlinux.org> | 2014-02-25 23:04:55 +0000 |
---|---|---|
committer | Dmitry V. Levin <ldv@altlinux.org> | 2014-02-25 23:15:20 +0000 |
commit | fdb896e577d4154b4dbd4350c9828e7df3b7da84 (patch) | |
tree | 1890a4a9eacf4212ff7031ff96d4f1f72a87ebae | |
parent | a7c6e5143cef6d0b62e8812b8dee13f22e31d5db (diff) | |
download | strace-fdb896e577d4154b4dbd4350c9828e7df3b7da84.tar.gz strace-fdb896e577d4154b4dbd4350c9828e7df3b7da84.tar.bz2 strace-fdb896e577d4154b4dbd4350c9828e7df3b7da84.tar.xz |
Do not compile scsi ioctl decoding if <scsi/sg.h> is not available
Add a generic test for <scsi/sg.h> availability to fix build with
Bionic libc that does not provide <scsi/sg.h>.
* configure.ac (AC_CHECK_HEADERS): Add scsi/sg.h.
* ioctl.c (ioctl_decode): Do not call scsi_ioctl if !HAVE_SCSI_SG_H.
* scsi.c: Do not compile scsi ioctl decoding if !HAVE_SCSI_SG_H.
Reported-by: Elliott Hughes <enh@google.com>
-rw-r--r-- | configure.ac | 1 | ||||
-rw-r--r-- | ioctl.c | 2 | ||||
-rw-r--r-- | scsi.c | 9 |
3 files changed, 10 insertions, 2 deletions
diff --git a/configure.ac b/configure.ac index 9b65d4b..db24349 100644 --- a/configure.ac +++ b/configure.ac @@ -220,6 +220,7 @@ AC_CHECK_HEADERS(m4_normalize([ mqueue.h netinet/sctp.h poll.h + scsi/sg.h stropts.h sys/acl.h sys/asynch.h @@ -86,8 +86,10 @@ ioctl_decode(struct tcb *tcp, long code, long arg) case 0x03: case 0x12: return block_ioctl(tcp, code, arg); +#ifdef HAVE_SCSI_SG_H case 0x22: return scsi_ioctl(tcp, code, arg); +#endif case 'L': return loop_ioctl(tcp, code, arg); case 'M': @@ -27,8 +27,11 @@ */ #include "defs.h" -#include <sys/ioctl.h> -#include <scsi/sg.h> + +#ifdef HAVE_SCSI_SG_H + +# include <sys/ioctl.h> +# include <scsi/sg.h> static const struct xlat sg_io_dxfer_direction[] = { XLAT(SG_DXFER_NONE), @@ -137,3 +140,5 @@ scsi_ioctl(struct tcb *tcp, long code, long arg) } return 1; } + +#endif /* HAVE_SCSI_SG_H */ |