blob: 8207a72f8695ed77624135a8459f81531a00eaef (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
--- mfbt/SHA1.h~
+++ mfbt/SHA1.h
@@ -27,6 +27,11 @@
#include "mozilla/StandardInteger.h"
#include "mozilla/Types.h"
+#if !defined(__clang__) && defined(__GNUC__) && __GNUC_MINOR__ <= 3
+/* c++/36107: mark SHA1Sum constructor as weak manually */
+__asm__(".weak _ZN7mozilla7SHA1SumC1Ev");
+#endif
+
namespace mozilla {
class SHA1Sum {
union {
@@ -39,7 +43,12 @@ class SHA1Sum {
public:
static const unsigned int HashSize = 20;
+#if !defined(__clang__) && defined(__GNUC__) && __GNUC_MINOR__ <= 3
+ /* c++/36107: gcc42 fails to remove *INTERNAL* from produced asm */
+ MOZ_IMPORT_API() SHA1Sum();
+#else
MFBT_API() SHA1Sum();
+#endif
MFBT_API(void) update(const void* dataIn, uint32_t len);
MFBT_API(void) finish(uint8_t hashout[20]);
};
|