Blame SOURCES/rhbz1643997.0012-Adjust-the-BPF-translate-error-report-formatting-to-.patch

e4e640
From 311eea74540d2ebbf61f4c795a180aec79dc2b00 Mon Sep 17 00:00:00 2001
e4e640
From: William Cohen <wcohen@redhat.com>
e4e640
Date: Tue, 30 Oct 2018 14:20:46 -0400
e4e640
Subject: [PATCH 12/32] Adjust the BPF translate error report formatting to
e4e640
 work on 32-bit architectures
e4e640
e4e640
The 32-bit architectures such as arm and i686 had arguments in the
e4e640
error reporting that did not match up with the %lu or %ld formatting.
e4e640
Used type casting and %llu and %lld to avoid variation between 32-bit
e4e640
and 64-bit architectures.
e4e640
---
e4e640
 bpf-translate.cxx | 10 +++++-----
e4e640
 1 file changed, 5 insertions(+), 5 deletions(-)
e4e640
e4e640
diff --git a/bpf-translate.cxx b/bpf-translate.cxx
e4e640
index bf55c56b4..bb133bae5 100644
e4e640
--- a/bpf-translate.cxx
e4e640
+++ b/bpf-translate.cxx
e4e640
@@ -840,14 +840,14 @@ bpf_unparser::parse_asm_stmt (embeddedcode *s, size_t start,
e4e640
   if (args[0] == "label")
e4e640
     {
e4e640
       if (args.size() != 2)
e4e640
-        throw SEMANTIC_ERROR (_F("invalid bpf embeddedcode syntax (label expects 1 arg, found %lu)", args.size()-1), stmt.tok);
e4e640
+        throw SEMANTIC_ERROR (_F("invalid bpf embeddedcode syntax (label expects 1 arg, found %llu)", (long long) args.size()-1), stmt.tok);
e4e640
       stmt.kind = args[0];
e4e640
       stmt.dest = args[1];
e4e640
     }
e4e640
   else if (args[0] == "alloc")
e4e640
     {
e4e640
       if (args.size() != 3)
e4e640
-        throw SEMANTIC_ERROR (_F("invalid bpf embeddedcode syntax (alloc expects 2 args, found %lu)", args.size()-1), stmt.tok);
e4e640
+        throw SEMANTIC_ERROR (_F("invalid bpf embeddedcode syntax (alloc expects 2 args, found %llu)", (long long) args.size()-1), stmt.tok);
e4e640
       stmt.kind = args[0];
e4e640
       stmt.dest = args[1];
e4e640
       stmt.imm = parse_imm(stmt, args[2]);
e4e640
@@ -855,7 +855,7 @@ bpf_unparser::parse_asm_stmt (embeddedcode *s, size_t start,
e4e640
   else if (args[0] == "call")
e4e640
     {
e4e640
       if (args.size() < 3)
e4e640
-        throw SEMANTIC_ERROR (_F("invalid bpf embeddedcode syntax (call expects at least 2 args, found %lu)", args.size()-1), stmt.tok);
e4e640
+        throw SEMANTIC_ERROR (_F("invalid bpf embeddedcode syntax (call expects at least 2 args, found %llu)", (long long) args.size()-1), stmt.tok);
e4e640
       stmt.kind = args[0];
e4e640
       stmt.dest = args[1];
e4e640
       assert(stmt.params.empty());
e4e640
@@ -865,7 +865,7 @@ bpf_unparser::parse_asm_stmt (embeddedcode *s, size_t start,
e4e640
   else if (is_numeric(args[0]))
e4e640
     {
e4e640
       if (args.size() != 5)
e4e640
-        throw SEMANTIC_ERROR (_F("invalid bpf embeddedcode syntax (opcode expects 4 args, found %lu)", args.size()-1), stmt.tok);
e4e640
+        throw SEMANTIC_ERROR (_F("invalid bpf embeddedcode syntax (opcode expects 4 args, found %llu)", (long long) args.size()-1), stmt.tok);
e4e640
       stmt.kind = "opcode";
e4e640
       try {
e4e640
         stmt.code = stoul(args[0], 0, 0);
e4e640
@@ -1128,7 +1128,7 @@ bpf_unparser::emit_asm_opcode (const asm_stmt &stmt,
e4e640
     }
e4e640
 
e4e640
   if (stmt.off != (int16_t)stmt.off)
e4e640
-    throw SEMANTIC_ERROR (_F("offset field '%ld' out of range in bpf code", stmt.off), stmt.tok);
e4e640
+    throw SEMANTIC_ERROR (_F("offset field '%lld' out of range in bpf code", (long long) stmt.off), stmt.tok);
e4e640
 
e4e640
   if (op_jmp)
e4e640
     {
e4e640
-- 
e4e640
2.14.5
e4e640