diff options
| author | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2014-03-21 20:42:40 +0000 |
|---|---|---|
| committer | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2014-03-21 20:42:40 +0000 |
| commit | a128956243fdb955a9578894e6adc0b15fe26278 (patch) | |
| tree | c6dc7cc056fe24fa382462b6208957a65af2108f /compiler-rt/lib | |
| parent | 745a2bf0b8b9f7bb68d033b165ad77dc71c73b94 (diff) | |
| download | bcm5719-llvm-a128956243fdb955a9578894e6adc0b15fe26278.tar.gz bcm5719-llvm-a128956243fdb955a9578894e6adc0b15fe26278.zip | |
InstrProf: Change magic number to have non-text characters
Include non-text characters in the magic number so that text files can't
match.
<rdar://problem/15950346>
llvm-svn: 204514
Diffstat (limited to 'compiler-rt/lib')
| -rw-r--r-- | compiler-rt/lib/profile/InstrProfiling.c | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/compiler-rt/lib/profile/InstrProfiling.c b/compiler-rt/lib/profile/InstrProfiling.c index de88f1ba30d..970907c405b 100644 --- a/compiler-rt/lib/profile/InstrProfiling.c +++ b/compiler-rt/lib/profile/InstrProfiling.c @@ -11,16 +11,23 @@ #include <string.h> uint64_t __llvm_profile_get_magic(void) { - /* Magic number to detect file format and endianness. */ + /* Magic number to detect file format and endianness. + * + * Use 255 at one end, since no UTF-8 file can use that character. Avoid 0, + * so that utilities like strings doesn't grab it as a string. 129 is high + * enough to be interesting. + * + * Use "lprofr" in the centre to stand for "LLVM Profile Raw". + */ return - (uint64_t)'l' << 56 | - (uint64_t)'p' << 48 | - (uint64_t)'r' << 40 | - (uint64_t)'o' << 32 | - (uint64_t)'f' << 24 | - (uint64_t)'r' << 16 | - (uint64_t)'a' << 8 | - (uint64_t)'w'; + (uint64_t)255 << 56 | + (uint64_t)'l' << 48 | + (uint64_t)'p' << 40 | + (uint64_t)'r' << 32 | + (uint64_t)'o' << 24 | + (uint64_t)'f' << 16 | + (uint64_t)'r' << 8 | + (uint64_t)129; } uint64_t __llvm_profile_get_version(void) { |

