[compiler-rt] r308650 - [compiler-rt] Reorder functions to have smaller stack frames
Vitaly Buka via llvm-commits
llvm-commits at lists.llvm.org
Thu Jul 20 11:43:10 PDT 2017
Author: vitalybuka
Date: Thu Jul 20 11:43:09 2017
New Revision: 308650
URL: http://llvm.org/viewvc/llvm-project?rev=308650&view=rev
Log:
[compiler-rt] Reorder functions to have smaller stack frames
Modified:
compiler-rt/trunk/lib/sanitizer_common/sanitizer_printf.cc
Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_printf.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_printf.cc?rev=308650&r1=308649&r2=308650&view=diff
==============================================================================
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_printf.cc (original)
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_printf.cc Thu Jul 20 11:43:09 2017
@@ -231,17 +231,23 @@ static void CallPrintfAndReportCallback(
static void SharedPrintfCode(bool append_pid, const char *format,
va_list args) {
- va_list args2;
- va_copy(args2, args);
- const int kLen = 16 * 1024;
// |local_buffer| is small enough not to overflow the stack and/or violate
// the stack limit enforced by TSan (-Wframe-larger-than=512). On the other
// hand, the bigger the buffer is, the more the chance the error report will
// fit into it.
char local_buffer[400];
+ SharedPrintfCodeNoBuffer(append_pid, local_buffer, ARRAY_SIZE(local_buffer),
+ format, va_list args);
+}
+
+static void SharedPrintfCodeNoBuffer(bool append_pid, char *local_buffer,
+ int buffer_size, const char *format,
+ va_list args) {
+ va_list args2;
+ va_copy(args2, args);
+ const int kLen = 16 * 1024;
int needed_length;
char *buffer = local_buffer;
- int buffer_size = ARRAY_SIZE(local_buffer);
// First try to print a message using a local buffer, and then fall back to
// mmaped buffer.
for (int use_mmap = 0; use_mmap < 2; use_mmap++) {
More information about the llvm-commits
mailing list