Skip to content

Commit 74fce83

Browse files
committed
[IRGen] Disable pre-specialization for 32-bit ARM on Linux
This is a temporary workaround for segfaults we observed in TargetMetadata, caused by invalid pointers.
1 parent d997526 commit 74fce83

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

lib/IRGen/IRGenModule.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1641,7 +1641,8 @@ bool IRGenModule::useDllStorage() { return ::useDllStorage(Triple); }
16411641

16421642
bool IRGenModule::shouldPrespecializeGenericMetadata() {
16431643
auto canPrespecializeTarget =
1644-
(Triple.isOSDarwin() || Triple.isTvOS() || Triple.isOSLinux());
1644+
(Triple.isOSDarwin() || Triple.isTvOS() ||
1645+
(Triple.isOSLinux() && !(Triple.isARM() && Triple.isArch32Bit())));
16451646
if (canPrespecializeTarget && isStandardLibrary()) {
16461647
return true;
16471648
}

0 commit comments

Comments
 (0)