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
This commit is contained in:
Duncan P. N. Exon Smith 2014-03-21 20:42:40 +00:00
parent 745a2bf0b8
commit a128956243
1 changed files with 16 additions and 9 deletions

View File

@ -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) {