anrieff / libcpuid

a small C library for x86 CPU detection and feature extraction
Other
451 stars 106 forks source link

lintian manpage warning #109

Closed ghost closed 6 years ago

ghost commented 6 years ago

OS: ubuntu - bionic doxygen: 1.8.13-10

debuild -us -uc -b gives:

W: libcpuid14-dev: manpage-has-bad-whatis-entry usr/share/man/man3/libcpuid.3.gz W: libcpuid14-dev: manpage-has-errors-from-man usr/share/man/man3/libcpuid.3.gz 227: warning: macro `No' not defined

Looking a little deeper this is doxygen generated 'code':

.TP \fB\fIERR_OK \fP\fP 'No error' .TP \fB\fIERR_NO_CPUID \fP\fP

looks innocuous enough.

which comes from cpuid_main.c:

const char cpuid_error(void) { const struct { cpu_error_t error; const char description; } matchtable[] = { { ERR_OK , "No error"}, { ERR_NO_CPUID , "CPUID instruction is not supported"}, { ERR_NO_RDTSC , "RDTSC instruction is not supported"}, { ERR_NO_MEM , "Memory allocation failed"}, { ERR_OPEN , "File open operation failed"}, { ERR_BADFMT , "Bad file format"}, { ERR_NOT_IMP , "Not implemented"}, { ERR_CPU_UNKN , "Unsupported processor"}, { ERR_NO_RDMSR , "RDMSR instruction is not supported"}, { ERR_NO_DRIVER, "RDMSR driver error (generic)"}, { ERR_NO_PERMS , "No permissions to install RDMSR driver"}, { ERR_EXTRACT , "Cannot extract RDMSR driver (read only media?)"}, { ERR_HANDLE , "Bad handle"}, { ERR_INVMSR , "Invalid MSR"}, { ERR_INVCNB , "Invalid core number"}, { ERR_HANDLE_R , "Error on handle read"}, { ERR_INVRANGE , "Invalid given range"}, };

manually installing just the manpage, it seems like the error messages aren't listed, just the ERR names. But if I replace the ' with a " ...the error messages do get listed.

...I'm starting to think this is a bug in doxygen itself.

*edit:

......maybe but the above code was mostly a headfake. Those strings are defined elsewhere, see my pr.