Bug 1769304
| Summary: | glibc: Backport more precise tokenizer for installed headers test | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 8 | Reporter: | Florian Weimer <fweimer> |
| Component: | glibc | Assignee: | Florian Weimer <fweimer> |
| Status: | CLOSED ERRATA | QA Contact: | qe-baseos-tools-bugs |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 8.2 | CC: | ashankar, codonell, dj, fweimer, mnewsome, pfrankli, skolosov |
| Target Milestone: | rc | ||
| Target Release: | 8.0 | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | glibc-2.28-89.el8 | Doc Type: | No Doc Update |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2020-04-28 16:50:25 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: | |||
Verified with posix/check-obsolete-construct 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. https://access.redhat.com/errata/RHSA-2020:1828 |
Upstream commit 81c9d43f94870be66146739c6e61df40dc17bb64 was backported into the Red Hat Enterprise Linux 8 kernel tree, adding: + KERN_PANIC_PRINT=78, /* ulong: bitmask to print system info on panic */ This results in a misc/check-installed-headers-c test failure: *** Obsolete types detected: /usr/include/linux/sysctl.h: KERN_PANIC_PRINT=78, /* ulong: bitmask to print system info on panic */ In glibc upstream, this was fixed by this commit: commit 711a322a235d4c8177713f11aa59156603b94aeb Author: Zack Weinberg <zackw> Date: Mon Mar 11 10:59:27 2019 -0400 Use a proper C tokenizer to implement the obsolete typedefs test. The test for obsolete typedefs in installed headers was implemented using grep, and could therefore get false positives on e.g. “ulong” in a comment. It was also scanning all of the headers included by our headers, and therefore testing headers we don’t control, e.g. Linux kernel headers. This patch splits the obsolete-typedef test from scripts/check-installed-headers.sh to a separate program, scripts/check-obsolete-constructs.py. Being implemented in Python, it is feasible to make it tokenize C accurately enough to avoid false positives on the contents of comments and strings. It also only examines $(headers) in each subdirectory--all the headers we install, but not any external dependencies of those headers. Headers whose installed name starts with finclude/ are ignored, on the assumption that they contain Fortran. […]