diff options
| author | Jerry Jelinek <jerry.jelinek@joyent.com> | 2019-11-26 12:25:31 +0000 |
|---|---|---|
| committer | Jerry Jelinek <jerry.jelinek@joyent.com> | 2019-11-26 12:25:31 +0000 |
| commit | a0fae2e039f343951fa97d02c576ee3d45c877d1 (patch) | |
| tree | 368950193f69019c430d784134b81fde3feed62a /usr/src/tools | |
| parent | 70102ef7b7b71b21e8fae6172bf09af8d95c02f2 (diff) | |
| parent | a629ded1d7b2e67c2028ccbc5ba9099328cc4e1b (diff) | |
| download | illumos-joyent-a0fae2e039f343951fa97d02c576ee3d45c877d1.tar.gz | |
[illumos-gate merge]
commit a629ded1d7b2e67c2028ccbc5ba9099328cc4e1b
11962 Port ZoL zfs diff tests to illumos
commit 32a71e42b5b15681007be8f91ac790b320b74d43
11993 format: reserved partition size calculation should use sector size
commit 32114f8806363681160c9505a0dfa90331e8579d
12012 zdb: do not output binary org.illumos:checksum_salt on terminal
commit 93d2b6f25d9da54278148dfd3d9a33ff2827016e
11938 loader.efi: HARDDRIVE_DEVICE_PATH may have subpaths
commit 247e9a8ed695b16d62e2a0cb581e5c07d949d5ae
12009 Memory leaks in blkdev when blkdev device is detached
commit eb44bcc7bc940d7cc1f4c10afa5a1cb7ec0dd198
12013 fix smatch build for GCC4
Diffstat (limited to 'usr/src/tools')
| -rw-r--r-- | usr/src/tools/smatch/Makefile | 2 | ||||
| -rw-r--r-- | usr/src/tools/smatch/src/Makefile | 4 | ||||
| -rw-r--r-- | usr/src/tools/smatch/src/check_arm64_tagged.c | 9 | ||||
| -rw-r--r-- | usr/src/tools/smatch/src/ident-list.h | 2 | ||||
| -rw-r--r-- | usr/src/tools/smatch/src/smatch_data/illumos_kernel.skipped_functions | 1 | ||||
| -rw-r--r-- | usr/src/tools/smatch/src/smatch_data/illumos_user.skipped_functions | 6 | ||||
| -rw-r--r-- | usr/src/tools/smatch/src/smatch_kernel_user_data.c | 9 |
7 files changed, 21 insertions, 12 deletions
diff --git a/usr/src/tools/smatch/Makefile b/usr/src/tools/smatch/Makefile index 1265cf4190..c2882381bd 100644 --- a/usr/src/tools/smatch/Makefile +++ b/usr/src/tools/smatch/Makefile @@ -20,7 +20,7 @@ # PROG = smatch -SPARSE_VERSION = 0.6.1-rc1-il-1 +SPARSE_VERSION = 0.6.1-rc1-il-2 include ../Makefile.tools diff --git a/usr/src/tools/smatch/src/Makefile b/usr/src/tools/smatch/src/Makefile index 495cc6192d..164fa1bd33 100644 --- a/usr/src/tools/smatch/src/Makefile +++ b/usr/src/tools/smatch/src/Makefile @@ -1,4 +1,4 @@ -VERSION=0.6.1-rc1-il-1 +VERSION=0.6.1-rc1-il-2 ######################################################################## # The following variables can be overwritten from the command line @@ -9,7 +9,7 @@ CC ?= gcc LD = $(CC) AR = ar -CFLAGS ?= -O2 -g +CFLAGS ?= -g DESTDIR ?= PREFIX ?= $(HOME) diff --git a/usr/src/tools/smatch/src/check_arm64_tagged.c b/usr/src/tools/smatch/src/check_arm64_tagged.c index e126552e59..d4d00873e1 100644 --- a/usr/src/tools/smatch/src/check_arm64_tagged.c +++ b/usr/src/tools/smatch/src/check_arm64_tagged.c @@ -154,8 +154,13 @@ int rl_range_has_min_value(struct range_list *rl, sval_t sval) static bool rl_is_tagged(struct range_list *rl) { - sval_t invalid = { .type = &ullong_ctype, .value = (1ULL << 56) }; - sval_t invalid_kernel = { .type = &ullong_ctype, .value = (0xff8ULL << 52) }; + sval_t invalid; + sval_t invalid_kernel; + + invalid.type = &ullong_ctype; + invalid.value = 1ULL << 56; + invalid_kernel.type = &ullong_ctype; + invalid_kernel.value = 0xff8ULL << 52; /* * We only care for tagged addresses, thus ignore anything where the diff --git a/usr/src/tools/smatch/src/ident-list.h b/usr/src/tools/smatch/src/ident-list.h index 096b1c2358..4ffd756301 100644 --- a/usr/src/tools/smatch/src/ident-list.h +++ b/usr/src/tools/smatch/src/ident-list.h @@ -31,7 +31,7 @@ IDENT(static); /* C99 keywords */ IDENT(restrict); IDENT(__restrict); IDENT(__restrict__); IDENT(_Bool); -IDENT(_Complex); +IDENT_RESERVED(_Complex); IDENT_RESERVED(_Imaginary); /* C11 keywords */ diff --git a/usr/src/tools/smatch/src/smatch_data/illumos_kernel.skipped_functions b/usr/src/tools/smatch/src/smatch_data/illumos_kernel.skipped_functions index 3617b9b806..029d02aad9 100644 --- a/usr/src/tools/smatch/src/smatch_data/illumos_kernel.skipped_functions +++ b/usr/src/tools/smatch/src/smatch_data/illumos_kernel.skipped_functions @@ -3,6 +3,7 @@ ECDSA_VerifyDigest dtrace_disx86 elf32exec elfexec +emlxs_sli4_process_unsol_rcv iscsi_ioctl lm_idle_chk ld64_sym_validate diff --git a/usr/src/tools/smatch/src/smatch_data/illumos_user.skipped_functions b/usr/src/tools/smatch/src/smatch_data/illumos_user.skipped_functions index f82ff4f38a..2842a7bc96 100644 --- a/usr/src/tools/smatch/src/smatch_data/illumos_user.skipped_functions +++ b/usr/src/tools/smatch/src/smatch_data/illumos_user.skipped_functions @@ -1,8 +1,6 @@ /* - * The below functions cause smatch to fail with "turning off implications after - * 60 seconds" or similar, generally because they're too large for it to handle. - * - * This will disable analysis altogether. + * These are specific functions that are generally too complex for smatch to + * reasonably handle. */ /* libast */ diff --git a/usr/src/tools/smatch/src/smatch_kernel_user_data.c b/usr/src/tools/smatch/src/smatch_kernel_user_data.c index ca4c7cd315..cda3b58d9d 100644 --- a/usr/src/tools/smatch/src/smatch_kernel_user_data.c +++ b/usr/src/tools/smatch/src/smatch_kernel_user_data.c @@ -681,10 +681,15 @@ static void handle_eq_noteq(struct expression *expr) static struct range_list *strip_negatives(struct range_list *rl) { sval_t min = rl_min(rl); - sval_t minus_one = { .type = rl_type(rl), .value = -1 }; - sval_t over = { .type = rl_type(rl), .value = INT_MAX + 1ULL }; + sval_t minus_one; + sval_t over; sval_t max = sval_type_max(rl_type(rl)); + minus_one.type = rl_type(rl); + minus_one.value = -1; + over.type = rl_type(rl); + over.value = INT_MAX + 1ULL; + if (!rl) return NULL; |
