diff options
Diffstat (limited to 'src/build')
-rw-r--r-- | src/build/mkrules/cc.rules.mk | 6 | ||||
-rw-r--r-- | src/build/trace/tracehash.c | 10 |
2 files changed, 13 insertions, 3 deletions
diff --git a/src/build/mkrules/cc.rules.mk b/src/build/mkrules/cc.rules.mk index b837b56a3..79a475125 100644 --- a/src/build/mkrules/cc.rules.mk +++ b/src/build/mkrules/cc.rules.mk @@ -34,7 +34,7 @@ $(OBJDIR)/%.o : %.C $(C2) " CXX $(notdir $<)" $(C1)$(CXX) -c $(call FLAGS_FILTER, $(CXXFLAGS), $<) $< \ -o $@.trace $(INCFLAGS) -iquote . - $(C1)$(TRACE_HASHER) $@ + $(C1)$(TRACE_HASHER) $@ $(TRACE_FLAGS) @rm $@.trace # Compiling *.cc files @@ -42,7 +42,7 @@ $(OBJDIR)/%.o : %.cc @mkdir -p $(OBJDIR) $(C2) " CXX $(notdir $<)" $(C1)$(CXX) -c $(CXXFLAGS) $< -o $@.trace $(INCFLAGS) -iquote . - $(C1)$(TRACE_HASHER) $@ + $(C1)$(TRACE_HASHER) $@ $(TRACE_FLAGS) @rm $@.trace @@ -59,7 +59,7 @@ else $(C1)$(CXX) -c $(call FLAGS_FILTER, $(CXXFLAGS), $<) $< \ -o $@.trace $(INCFLAGS) -iquote . endif - $(C1)$(TRACE_HASHER) $@ + $(C1)$(TRACE_HASHER) $@ $(TRACE_FLAGS) @rm $@.trace $(OBJDIR)/%.o : %.S diff --git a/src/build/trace/tracehash.c b/src/build/trace/tracehash.c index 27bbc9c40..562d8bddc 100644 --- a/src/build/trace/tracehash.c +++ b/src/build/trace/tracehash.c @@ -174,6 +174,9 @@ size_t format_offset = 0; /** Content to place into the format string section. */ char* format_content = NULL; +/** Keep the full strings in the code rather than reduce to format strings. */ +int full_strings = 0; + ///--------- Forward Declarations ------------------/// void create_sections(bfd*, asection*, void*); void copy_relocs(bfd*, asection*, void*); @@ -199,6 +202,11 @@ int main(int argc, char** argv) char* outFileName = strdup(argv[1]); + if ((argc == 3) && (0 == strcmp("--full-strings", argv[2]))) + { + full_strings = 1; + } + char* inFileName = (char*) malloc(strlen(outFileName) + strlen(inFileSuffix) + 1); strcpy(inFileName, outFileName); @@ -472,6 +480,8 @@ void copy_content(bfd* inFile, asection* s, void* param) */ char* create_format_string(const char* string) { + if (full_strings) { return strdup(string); } + size_t length = strlen(string) + 1; char* result = malloc(length); |