[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen staging] x86/cpu-policy: work around bogus warning in test harness
commit aa370d3c26d2899ffe950849504edfdfb79400ea Author: Jan Beulich <jbeulich@xxxxxxxx> AuthorDate: Thu Sep 5 10:00:07 2019 +0200 Commit: Jan Beulich <jbeulich@xxxxxxxx> CommitDate: Thu Sep 5 10:00:07 2019 +0200 x86/cpu-policy: work around bogus warning in test harness Despite %.12s properly limiting the number of characters read from ident[], gcc 9 (at least up to 9.2.0) warns about the strings not being nul-terminated: test-cpu-policy.c:64:18: error: '%.12s' directive argument is not a nul-terminated string [-Werror=format-overflow=] 64 | fail(" Test '%.12s', expected vendor %u, got %u\n", | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ test-cpu-policy.c:20:12: note: in definition of macro 'fail' 20 | printf(fmt, ##__VA_ARGS__); \ | ^~~ test-cpu-policy.c:64:27: note: format string is defined here 64 | fail(" Test '%.12s', expected vendor %u, got %u\n", | ^~~~~ test-cpu-policy.c:44:7: note: referenced argument declared here 44 | } tests[] = { | ^~~~~ The issue was reported against gcc in their bugzilla (bug 91667). Re-order array entries, oddly enough suppressing the warning. Reported-by: Christopher Clark <christopher.w.clark@xxxxxxxxx> Reported-by: Dario Faggioli <dfaggioli@xxxxxxxx> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Acked-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> --- tools/tests/cpu-policy/test-cpu-policy.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/tools/tests/cpu-policy/test-cpu-policy.c b/tools/tests/cpu-policy/test-cpu-policy.c index ca3b8dd45f..fe00cd4276 100644 --- a/tools/tests/cpu-policy/test-cpu-policy.c +++ b/tools/tests/cpu-policy/test-cpu-policy.c @@ -42,15 +42,16 @@ static void test_vendor_identification(void) }; unsigned int vendor; } tests[] = { + /* The 1st entry should remain here to work around gcc bug 91667. */ + { { "" }, X86_VENDOR_UNKNOWN }, + { { " " }, X86_VENDOR_UNKNOWN }, + { { "xxxxxxxxxxxx" }, X86_VENDOR_UNKNOWN }, + { { "GenuineIntel" }, X86_VENDOR_INTEL }, { { "AuthenticAMD" }, X86_VENDOR_AMD }, { { "CentaurHauls" }, X86_VENDOR_CENTAUR }, { { " Shanghai " }, X86_VENDOR_SHANGHAI }, { { "HygonGenuine" }, X86_VENDOR_HYGON }, - - { { "" }, X86_VENDOR_UNKNOWN }, - { { " " }, X86_VENDOR_UNKNOWN }, - { { "xxxxxxxxxxxx" }, X86_VENDOR_UNKNOWN }, }; printf("Testing CPU vendor identification:\n"); -- generated by git-patchbot for /home/xen/git/xen.git#staging _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |