Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
Name: sparse | Distribution: SUSE Linux Enterprise 15 SP6 |
Version: 0.6.4+20220627 | Vendor: openSUSE |
Release: bp156.3.6 | Build date: Wed May 15 06:25:31 2024 |
Group: Development/Tools/Building | Build host: i02-armsrv2 |
Size: 1738736 | Source RPM: sparse-0.6.4+20220627-bp156.3.6.src.rpm |
Packager: https://bugs.opensuse.org | |
Url: https://sparse.docs.kernel.org/ | |
Summary: A semantic parser of source files |
Sparse is a semantic parser of source files: it's neither a compiler (although it could be used as a front-end for one) nor is it a preprocessor (although it contains as a part of it a preprocessing phase). It is meant to be a small - and simple - library. Scanty and meager, and partly because of that easy to use. It has one mission in life: create a semantic parse tree for some arbitrary user for further analysis. It's not a tokenizer, nor is it some generic context-free parser. In fact, context (semantics) is what it's all about - figuring out not just what the grouping of tokens are, but what the _types_ are that the grouping implies. Sparse is primarily used in the development and debugging of the Linux kernel.
MIT
* Mon Apr 03 2023 Jiri Slaby <jslaby@suse.cz> - don't build llvm parts. It requires llvm < 16. * Fri Dec 09 2022 jslaby@suse.cz - As per previous entry, switch to _service - Propagate optflags to LDFLAGS too - Enable semind * Wed Dec 07 2022 Larry Finger <Larry.Finger@gmail.com> - Development of sparse no longer results in a new tarball, but it is contained in a repo at git://git.kernel.org/pub/scm/devel/sparse/sparse.git. As a result, the openSUSE package has gotten out of date. In particular, it shows lots of ./arch/x86/include/asm/bitops.h:239:9: warning: unreplaced symbol 'return' for inlined routines. These obscure any actual problems with the code being checked. In the future, the package should be maintained from the git repo, but in the interim to provide a useful version of sparse, I cloned the git repo, converted it into a tarball, and modified the spec file. The last several commits are summarized as follows: * fix "unreplaced" warnings caused by using typeof() on inline functions * cleanup related to inlining of variadic functions * inline: free symbol list after use * inline: allocate statement after guards * inline: avoid needless intermediate vars * inline: declaration of the variadic vars is useless * inline: comment about creating node of node on variadics * inline: add testcases for inlining of variadics * fix "unreplaced" warnings caused by using typeof() on inline functions * Wed Jan 05 2022 Bernhard Voelker <mail@bernhard-voelker.de> - Update to version 0.6.4: * For full list of changes see: https://sparse.docs.kernel.org/en/latest/release-notes/v0.6.4.html - sparse.spec: update URL to project home page. * Tue Jan 26 2021 Martin Pluskal <mpluskal@suse.com> - Update to version 0.6.3: * For full list of changes see: https://sparse.docs.kernel.org/en/latest/release-notes/v0.6.3.html - Drop upstreamed patches: * 0001-gensel-remove-unneeded-test-uninitialized-warning.patch * 0002-generic-fix-missing-inlining-of-generic-expression.patch * 0004-sindex.1-Use-for-a-plain-quote-char.patch * Fri Sep 25 2020 Jiri Slaby <jslaby@suse.com> - add patches * 0001-gensel-remove-unneeded-test-uninitialized-warning.patch * 0002-generic-fix-missing-inlining-of-generic-expression.patch * 0004-sindex.1-Use-for-a-plain-quote-char.patch * Wed Sep 16 2020 Dirk Mueller <dmueller@suse.com> - update to 0.6.2: * use release tarballs * changelog of 0.6.2 is available here: https://sparse.docs.kernel.org/en/latest/release-notes/v0.6.2.html * Tue Jun 09 2020 jslaby@suse.com - Update to version 0.6.1+20200606: * pre-process: fix a compiler array subscript type warning * univ-init: set default to -Wno-universal-initializer * univ-init: scalar initializer needs some additional checks * evaluate: mark evaluate_generic_selection() as static * add support for _Generic * testsuite: add testcase for duplicated local definitions * add an option to suppress warning 'no newline at EOF' * univ-init: conditionally accept { 0 } without warnings * bad-label: respect attribute((unused)) * bad-label: mark labels as used when needed * bad-label: check for unused labels * bad-goto: check declaration of label expressions * bad-goto: extract check_label_declaration() * bad-goto: label expression inside a statement expression is UB * bad-goto: jumping inside a statement expression is an error * scope: give a scope for labels & gotos * build: fix LLVM version detection * and much more - Use latest llvm again as the detection is fixed * Sat Apr 18 2020 Martin Pluskal <mpluskal@suse.com> - Update to version 0.6.1+20200413: * do not use expr->left for conditionals * add support for GCC's __auto_type * And plenty more - Use llvm9 for building as llvm10 is not yet supported * Thu Jan 30 2020 jslaby@suse.com - Update to version 0.6.1+20200129: * domtree: domtree_build() creates extraneous bb->doms entries * predefine "i386" if needed * correct sparcv9 defines * pre-define __unix__ and friends * add necessary defined for sunos-derived systems * define __PRAGMA_REDEFINE_EXTNAME * allow to easily test if the OS is UNIX-like * detect OS_UNIX as native OS * add predefine_nostd() * show_parse: avoid null pointer dereference in do_show_type() * ptrlist: fix typos * fix testcase with non-constant initializer * and much more * Mon Nov 04 2019 jslaby@suse.com - Update to version 0.6.1+20191101: * .gitignore: alphasort the patterns * Add '__' prefix and suffix to all __attribute__ #defines * options: add support for -mcmodel * options: add support for -fpic, -fPIC, -fpie & -fPIE * Sparse v0.6.1 * doc: fix typo in binops' description * "graph" segfaults on top-level asm * llvm: fix sparsec breakage on recent cygwin version * Thu Oct 10 2019 jslaby@suse.com - Update to version 0.6.1rc2+20191007: * expand more builtins like __builtin_ffs() * make 'directive in argument list' clearer * asm: warn on invalid empty constraints * fix sign extension in casting enums * remove useless optimization in cast_enum_list() * add test for enum sign extension * do not linearize invalid expression * asm: arrays & functions in non-memory operand degenerate into pointers * asm: fix missing expansion of asm statements * asm: fix liveness memory operand * asm: linearization of output memory operands is different * asm: missing evaluation of asm statements * asm: use parse_asm_constraint() to verify constraints * asm: parse constraints * asm: keep using struct asm_operand during linearization * asm: use a specific struct for asm operands * asm: check earlier that body & constraints are strings * asm: add test evaluation, expansion & linearization of ASM operands * string: use string_expression() in parse_static_assert() * string: add helper string_expression() * dissect: fix processing of ASM statements * and more... * Wed Jul 31 2019 jslaby@suse.com - Update to version 20190404: * fix allowing casts of AS pointers to uintptr_t * man: explain role of uintptr_t & unsigned long in casts from AS pointers * also accept casts of AS pointers to uintptr_t * evaluate: externally_visible functions don't need a declaration * expand: add explanation to 'conservative' * expand: 'conservative' must not bypass valid simplifications * Sparse v0.6.1-rc1 * remove confusing intermediate 'where' in evaluate_assignment() * display extra info for type errors in compare & conditional * cgcc: use strict & warnings * cgcc: add support for x86-x32 * cgcc: favor using 'gcc -dumpmachine' to determine specifics * cgcc: simpler handling of hard-float ARM * cgcc: add pseudo-archs for ppc64be/ppc64le * and a lot more... - remove use-clang-for-sparse-llvm.patch (unneeded now) * Wed May 08 2019 olaf@aepfle.de - Install pkgconfig into libdir instead of datadir * Wed Apr 18 2018 mpluskal@suse.com - Run spec-clener - Build llvm based parts only on x86_64 * Tue Apr 17 2018 mwilck@suse.com - Update to version 20180324: * Sparse v0.5.2 * Fri Mar 23 2018 dsterba@suse.cz - Update to version 20180303: * bump up version to 0.5.2-RC1 * By default disable the warning flag '-Wunknown-attribute' * Update gcc attribute list * sparse: ignore indirect_branch attribute * add __builtin functions for isinf_sign, isfinite and isnan * fix cgcc ELF version for ppc64/pcc64le * Sparse preprocessing bug with zero-arg variadic macros * gcc attr: add nonstring warn_if_not_aligned * Sparse v0.5.1 * test-inspect: Detect gtk3 then gtk2 package * Makefile: pass -Wno-vla to sparse while checking pre-process.c * lib: workaround the 'redeclared with different type' errors * Adding _Pragma() * Adding gcc attribute no_gccisr * cgcc: teach cgcc about arm * cgcc: teach cgcc about ppc64[le] * cgcc: teach cgcc about arm64 * add support for -fmemcpy-max-count * add support for -Wmemcpy-max-count * cgcc: filter-out '-fdump-linearize[=...]' * teach sparse how to handle '-fmem-report' * sparse: add support for _Static_assert * constexpr: flag __builtin_bswap() as constexpr * teach sparse about -Waddress * make -Wbitwise operational again - Removed patch parse-add-support-for-no_sanitize_-attributes.patch (implemented upstream) * Wed Apr 26 2017 jslaby@suse.com - Update to version 20170216: * kill_instruction() may need to be forced or not * add killing of pure calls * fix killing OP_CALL via pointers * add killing of non-volatile loads * add killing of stores * fix killing of rewritten loads * use kill_instruction() when killing an OP_PHI during CSE * use kill_instruction() when killing any instructions during CSE * fix OP_PHI usage in try_to_simplify_bb() * simplify float-to-float casts that doesn't change size - add: use-clang-for-sparse-llvm.patch It fixes build on llvm 4. * Fri Feb 03 2017 mpluskal@suse.com - Update to version 20161117 (boo#1023536): * .gitignore: add cscope and Qt project files * Add default case to switches on enum variables * Fix size calculation of unsized bool array * Do not drop 'nocast' modifier when taking the address. * Fix warning compiling sparse-llvm * sparse: add 'alloc_align' to the ignored attributes * sparse: ignore __assume_aligned__ attribute * sparse: add no_sanitize_address as an ignored attribute * Handle SForced in storage_modifiers * sparse: update __builtin_object_size() prototype - Change _service to disabled to preven accidentally running it - Switch back to naming based on date only * Thu Aug 04 2016 jslaby@suse.com - Switch to the chrisl's repo - Update to version 0.5+git.20160223: * Ignore pure attribute in assignement * Add tests for the builtin INF and nan() functions. * sparse/parse.c: ignore hotpatch attribute * sparse, llvm: compile: skip function prototypes to avoid SIGSEGV * validation/prototype: regression for skipping prototypes * ptrlist: reading deleted items in NEXT_PTR_LIST() * .gitignore: add cscope and Qt project files * Add default case to switches on enum variables * Fix size calculation of unsized bool array * Do not drop 'nocast' modifier when taking the address. - add parse-add-support-for-no_sanitize_-attributes.patch * Sun May 08 2016 mpluskal@suse.com - Change versioning to include latest release - 0.5+git.20150208 - Enable sparse-llvm - Update dependencies - Small spec file cleanup with spec-cleaner - Make building more verbose * Fri Oct 09 2015 jslaby@suse.com - update to 20150124 * Teach sparse about the __COUNTER__ predefined macro * Make macro expanded string immutable * s390x: add the proper defines for data types * Wed Jan 14 2015 jslaby@suse.com - update to 20141211 * Ptr list sorting should use memmove instead of memcpy * build: allow use of PKG_CONFIG to override pkg-config * compile-i386.c: don't ignore return value of write(2) * parse.c: remove duplicate 'may_alias' ignored_attributes * cgcc: avoid passing a sparse-only option to cc * test-suite: remove bashism to avoid test failures * teach next_designators() use array_element_offset() * cgcc: use $ccom to set $multiarch_dir if not specified * cgcc: use only the cc command to determine $gcc_base_dir * Add support for multiarch system header files * don't run sparse{c,i} tests when sparse-llvm is disabled * Makefile: suppress error message from shell * don't call isdigit/tolower with a char argument * sparse: add 'gnu_inline' to the ignored attributes * Add the __restrict__ keyword * sparse: treat function pointers as pointers to const data * rename -Werror to -Wsparse-error * sparse: Make -Werror turn warnigns into errors * Use LLVM_CONFIG instead of llvm-config in Makefile * sparse-llvm: Fix LLVM 3.5 linker errors * Fix initializers in anonymous structs and unions * Make same_symbol list share the same scope * Fix scoping of extern symbols in block scope * round up the array element size to byte align * sparse: make bits_to_bytes round up instead of down * Minor clean up for option handling * lib.c: skip --param parameters * parse: support c99 [static ...] in abstract array declarators * sparse{i,c}: use LLVM_CONFIG to find llc and lli * build: allow use of LLVM_CONFIG to override llvm-config config script * Fix error at anoymous unions * Add test case for the ioc type check * Add test case for anonymous union initializer * Add test case for extern array * Use any previous initializer to size a symbol * Add warning about duplicate initializers * Support GCC's transparent unions * evaluate: split out implementation of compatible_assignment_types * validation/sizeof-bool: fix broken test case * sparse: Allow override of sizeof(bool) warning * Define __CHAR_BIT__
/usr/bin/c2xml /usr/bin/cgcc /usr/bin/semind /usr/bin/sparse /usr/share/doc/packages/sparse /usr/share/doc/packages/sparse/FAQ /usr/share/doc/packages/sparse/README /usr/share/licenses/sparse /usr/share/licenses/sparse/LICENSE /usr/share/man/man1/cgcc.1.gz /usr/share/man/man1/semind.1.gz /usr/share/man/man1/sparse.1.gz
Generated by rpm2html 1.8.1
Fabrice Bellet, Tue Jul 9 20:14:19 2024