Skip to content

Commit 0891255

Browse files
drexinfinagolfin
authored andcommitted
[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 7da273e commit 0891255

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
@@ -1609,7 +1609,8 @@ bool IRGenModule::useDllStorage() { return ::useDllStorage(Triple); }
16091609

16101610
bool IRGenModule::shouldPrespecializeGenericMetadata() {
16111611
auto canPrespecializeTarget =
1612-
(Triple.isOSDarwin() || Triple.isTvOS() || Triple.isOSLinux());
1612+
(Triple.isOSDarwin() || Triple.isTvOS() ||
1613+
(Triple.isOSLinux() && !(Triple.isARM() && Triple.isArch32Bit())));
16131614
if (canPrespecializeTarget && isStandardLibrary()) {
16141615
return true;
16151616
}

0 commit comments

Comments
 (0)