On Fri, Sep 11, 2015 at 10:43:24AM +0100, Simon Brown wrote: > Thanks Bob, What was the fix?
Quick answer: see the discussion at bugs.debian.org for bug 789807. Somewhat longer answer... On alpha, and maybe other architectures, there's no guarantee that the byte in front of a character array is non-printable. The fact the problem didn't appear on x86 is a happy accident. Suggested fix was to put a NULL at the beginning of the array to force any garbage in front of the array to be ignored when the build process ran "strings" on a compiled program. Implemented fix was to make that first byte a newline, which has the same effect as far as enabling "strings" to pull the correct content from the compiled program. Explanation of longer answer :-). The build process creates a source file for both C and C++ that the C preprocessor parses to build a character array listing various compiler features and whether they exist (depending on the version of the compiler). The resulting executable (a .bin file) is then scanned by the "strings" command to pull the resulting character array out of the executable. On alpha, there was printable garbage in front of the character array that "corrupted" the "strings" output and confused the parser that was looking at it. --Bob

