Bug 902739
| Summary: | dtrace generates poor quality C code that provokes static analyzers | |||
|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | Kamil Dudka <kdudka> | |
| Component: | systemtap | Assignee: | Frank Ch. Eigler <fche> | |
| Status: | CLOSED ERRATA | QA Contact: | Martin Cermak <mcermak> | |
| Severity: | unspecified | Docs Contact: | ||
| Priority: | unspecified | |||
| Version: | 6.4 | CC: | dsmith, mcermak, mjw, scox | |
| Target Milestone: | rc | |||
| Target Release: | --- | |||
| Hardware: | Unspecified | |||
| OS: | Unspecified | |||
| Whiteboard: | ||||
| Fixed In Version: | systemtap-2.3-1.el6 | Doc Type: | Bug Fix | |
| Doc Text: |
Cause:
Systemtap's 'dtrace' utility generates C code that could be improved.
Consequence:
When the generated code is compiled, gcc gives warning messages.
Fix:
Systemtap's dtrace utility generates more correct code.
Result:
When the generated code is compiled, gcc reports no warnings/errors.
|
Story Points: | --- | |
| Clone Of: | ||||
| : | 1013228 (view as bug list) | Environment: | ||
| Last Closed: | 2013-11-21 11:45:42 UTC | Type: | Bug | |
| Regression: | --- | Mount Type: | --- | |
| Documentation: | --- | CRM: | ||
| Verified Versions: | Category: | --- | ||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
| Cloudforms Team: | --- | Target Upstream Version: | ||
| Embargoed: | ||||
| Bug Depends On: | ||||
| Bug Blocks: | 1013228 | |||
Upstream commit 69607fc corrects this. Thanks for the quick response! Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHBA-2013-1630.html |
Description of problem: We get defect reports like this from Coverity: Error: MISSING_RETURN: /tmp/tmpp5tUKb.c:1: missing_return: Arriving at the end of a function without returning a value. Version-Release number of selected component (if applicable): systemtap-1.8-7.el6 How reproducible: easily Steps to Reproduce: 1. printf "providers xxx { };\n" > xxx 2. dtrace -G -k -s xxx 3. gcc -c -Wall /tmp/tmpXXXXXX.c Actual results: $ printf "providers xxx { };" > xxx $ dtrace -G -k -s xxx header: /tmp/tmp_hnRff.h source: /tmp/tmpXTWPUV.c $ gcc -c -Wall /tmp/tmpXTWPUV.c /tmp/tmpXTWPUV.c:1: warning: return type defaults to ‘int’ /tmp/tmpXTWPUV.c: In function ‘__dtrace’: /tmp/tmpXTWPUV.c:1: warning: control reaches end of non-void function /tmp/tmpXTWPUV.c: At top level: /tmp/tmpXTWPUV.c:1: warning: ‘__dtrace’ defined but not used