summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/MicrosoftMangle.cpp
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2015-09-01 21:23:58 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2015-09-01 21:23:58 +0000
commit6ddc636862095a3d6f1b02ea034a353c19fff328 (patch)
tree6d0ce200909cf6de6484896ac403384425cd604e /clang/lib/AST/MicrosoftMangle.cpp
parentee1cff5fab3c713f40a89741369bbcaf26b7c8be (diff)
downloadbcm5719-llvm-6ddc636862095a3d6f1b02ea034a353c19fff328.tar.gz
bcm5719-llvm-6ddc636862095a3d6f1b02ea034a353c19fff328.zip
[MC] Add support for generating COFF CRCs
COFF sections are accompanied with an auxiliary symbol which includes a checksum. This checksum used to be filled with just zero but this seems to upset LINK.exe when it is processing a /INCREMENTAL link job. Instead, fill the CheckSum field with the JamCRC of the section contents. This matches MSVC's behavior. This fixes PR19666. N.B. A rather simple implementation of JamCRC is given. It implements a byte-wise calculation using the method given by Sarwate. There are implementations with higher throughput like slice-by-eight and making use of PCLMULQDQ. We can switch to one of those techniques if it turns out to be a significant use of time. llvm-svn: 246590
Diffstat (limited to 'clang/lib/AST/MicrosoftMangle.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud