Bill Hoffa | ffe8370 | 2015-03-30 21:37:20 -0500 | [diff] [blame] | 1 | From 22c58d6a7d3e6d69294aa16c9b0fa354ae9cf861 Mon Sep 17 00:00:00 2001 |
| 2 | From: Elizabeth Liner <eliner@us.ibm.com> |
| 3 | Date: Mon, 30 Mar 2015 12:41:45 -0500 |
| 4 | Subject: [PATCH 4/5] Cap off the TRACFBIN such that nothing exceeds 64 bytes |
| 5 | |
| 6 | Change-Id: If8f08d1602b4437aa0e72e6d2e8d99ca615a2c77 |
| 7 | (cherry picked from commit cb2ea9c1b5d1906e0f58eda347367c648c18809a) |
| 8 | --- |
| 9 | src/include/usr/trace/interface.H | 16 +++++++++++----- |
| 10 | src/include/usr/trace/trace.H | 2 ++ |
| 11 | 2 files changed, 13 insertions(+), 5 deletions(-) |
| 12 | |
| 13 | diff --git a/src/include/usr/trace/interface.H b/src/include/usr/trace/interface.H |
| 14 | index 3ef8575..d02db76 100644 |
| 15 | --- a/src/include/usr/trace/interface.H |
| 16 | +++ b/src/include/usr/trace/interface.H |
| 17 | @@ -218,13 +218,19 @@ const uint32_t TRACE_FIELD = 0; //Indicates trace is field |
| 18 | */ |
| 19 | #define TRACFBIN(des,printf_string,address,len) \ |
| 20 | { \ |
| 21 | + uint16_t l_length = len; \ |
| 22 | + if(len > MAX_WORKING_TRACBIN_SIZE) \ |
| 23 | + { \ |
| 24 | + l_length = MAX_WORKING_TRACBIN_SIZE; \ |
| 25 | + TRACFCOMP(des,"Shrinking to max size in TRACFBIN"); \ |
| 26 | + } \ |
| 27 | __TRACE_HASH_STRUCTURES(printf_string); \ |
| 28 | TRACE::trace_adal_write_bin((des), \ |
| 29 | - &__traceData_codeInfo, \ |
| 30 | - __LINE__, \ |
| 31 | - address, \ |
| 32 | - len, \ |
| 33 | - TRACE_FIELD); \ |
| 34 | + &__traceData_codeInfo, \ |
| 35 | + __LINE__, \ |
| 36 | + address, \ |
| 37 | + l_length, \ |
| 38 | + TRACE_FIELD); \ |
| 39 | } |
| 40 | |
| 41 | /** |
| 42 | diff --git a/src/include/usr/trace/trace.H b/src/include/usr/trace/trace.H |
| 43 | index fdcce88..e969487 100644 |
| 44 | --- a/src/include/usr/trace/trace.H |
| 45 | +++ b/src/include/usr/trace/trace.H |
| 46 | @@ -42,6 +42,8 @@ const uint32_t TRACE_DEBUG_OFF = 0; //< Set to this when debug trace off |
| 47 | const uint32_t TRAC_COMP_SIZE = 16; //< Max component name size |
| 48 | const uint32_t TRAC_MAX_ARGS = 9; //< Max number of arguments in trace |
| 49 | |
| 50 | +const uint16_t MAX_WORKING_TRACBIN_SIZE = 64; //< Max working tracBin size |
| 51 | + |
| 52 | typedef uint32_t trace_hash_val; //< Hash values are 32 bits. |
| 53 | |
| 54 | |
| 55 | -- |
| 56 | 1.8.2.2 |
| 57 | |