Loading...
--- dyld/dyld-1042.1/common/Diagnostics.cpp
+++ dyld/dyld-960/common/Diagnostics.cpp
@@ -51,19 +51,19 @@
#include "Diagnostics.h"
-#if BUILDING_CACHE_BUILDER || BUILDING_UNIT_TESTS || BUILDING_CACHE_BUILDER_UNIT_TESTS
+#if BUILDING_CACHE_BUILDER
#include <dispatch/dispatch.h>
dispatch_queue_t sWarningQueue = dispatch_queue_create("com.apple.dyld.cache-builder.warnings", NULL);
#endif
Diagnostics::Diagnostics(bool verbose)
-#if BUILDING_CACHE_BUILDER || BUILDING_UNIT_TESTS || BUILDING_CACHE_BUILDER_UNIT_TESTS
+#if BUILDING_CACHE_BUILDER
: _prefix(""), _verbose(verbose)
#endif
{
}
-#if BUILDING_CACHE_BUILDER || BUILDING_UNIT_TESTS || BUILDING_CACHE_BUILDER_UNIT_TESTS
+#if BUILDING_CACHE_BUILDER
Diagnostics::Diagnostics(const std::string& prefix, bool verbose)
: _prefix(prefix),_verbose(verbose)
{
@@ -79,17 +79,25 @@
{
va_list list;
va_start(list, format);
+#if __x86_64__
error(format, list);
- va_end(list);
-}
-
+#else
+ errorVA(format, list);
+#endif
+ va_end(list);
+}
+
+#if __x86_64__
void Diagnostics::error(const char* format, va_list list)
+#else
+void Diagnostics::errorVA(const char* format, va_list list)
+#endif
{
if ( _buffer == nullptr )
_buffer = _simple_salloc();
_simple_vsprintf(_buffer, format, list);
-#if BUILDING_CACHE_BUILDER || BUILDING_UNIT_TESTS || BUILDING_CACHE_BUILDER_UNIT_TESTS
+#if BUILDING_CACHE_BUILDER
if ( !_verbose )
return;
@@ -107,7 +115,11 @@
_simple_sresize(_buffer);
va_list list;
va_start(list, format);
+#if __x86_64__
error(format, list);
+#else
+ errorVA(format, list);
+#endif
va_end(list);
}
@@ -141,7 +153,31 @@
return (strstr(_simple_string(_buffer), subString) != nullptr);
}
-#if BUILDING_CACHE_BUILDER || BUILDING_UNIT_TESTS || BUILDING_CACHE_BUILDER_UNIT_TESTS
+void Diagnostics::quotePath(const char* path, char newPath[PATH_MAX])
+{
+ if ( !path ) {
+ newPath[0] = '\0';
+ return;
+ }
+ size_t len = strlen(path);
+ if ( len >= PATH_MAX )
+ len = PATH_MAX-1;
+ for (size_t i = 0; i < len; i++) {
+ newPath[i] = path[i];
+ if ( newPath[i] == '\'' )
+ newPath[i] = ' ';
+ }
+ newPath[len] = '\0';
+}
+
+
+#if !BUILDING_CACHE_BUILDER
+const char* Diagnostics::errorMessage() const
+{
+ return _buffer ? _simple_string(_buffer) : "";
+}
+
+#else
void Diagnostics::warning(const char* format, ...)
{
_SIMPLE_STRING tmp = _simple_salloc();
@@ -149,9 +185,13 @@
va_start(list, format);
_simple_vsprintf(tmp, format, list);
va_end(list);
+#if BUILDING_CACHE_BUILDER
dispatch_sync(sWarningQueue, ^{
_warnings.insert(_simple_string(tmp));
});
+#else
+ _warnings.insert(_simple_string(tmp));
+#endif
_simple_sfree(tmp);
}
@@ -202,30 +242,29 @@
const std::set<std::string> Diagnostics::warnings() const
{
+#if BUILDING_CACHE_BUILDER
__block std::set<std::string> retval;
dispatch_sync(sWarningQueue, ^{
retval = _warnings;
});
return retval;
+#else
+ return _warnings;
+#endif
}
void Diagnostics::clearWarnings()
{
+#if BUILDING_CACHE_BUILDER
dispatch_sync(sWarningQueue, ^{
_warnings.clear();
});
-}
-
-#else
-
-const char* Diagnostics::errorMessage() const
-{
- return _buffer ? _simple_string(_buffer) : "";
-}
-
-#endif
-
-#if BUILDING_CACHE_BUILDER || BUILDING_UNIT_TESTS || BUILDING_CACHE_BUILDER_UNIT_TESTS
+#else
+ _warnings.clear();
+#endif
+}
+
+#if BUILDING_CACHE_BUILDER
void TimeRecorder::pushTimedSection() {
openTimings.push_back(mach_absolute_time());
}
@@ -249,8 +288,6 @@
});
}
- free(output_string);
-
openTimings.push_back(mach_absolute_time());
}
@@ -273,6 +310,7 @@
timings.clear();
}
-
-#endif
-
+#endif
+
+#endif
+