summaryrefslogtreecommitdiff
path: root/Configure
diff options
context:
space:
mode:
authorH.Merijn Brand <perl5@tux.freedom.nl>2020-09-22 13:17:11 +0200
committerH.Merijn Brand <perl5@tux.freedom.nl>2020-09-22 13:17:11 +0200
commitbec07c3af574f0f22a318c6273a2c4f29afc1251 (patch)
tree2d42a67d8caa85b56ce34d132502b12449866423 /Configure
parent2adfde9e14b336c8266d84ba513fb119f028c1ab (diff)
downloadperl-bec07c3af574f0f22a318c6273a2c4f29afc1251.tar.gz
Trap SIGBUS when Configure checks for va_copy (#18148)
On several systems the attempt to determine if we &quot;need va_copy() or similar&quot; results in a SIGBUS instead of a SIGSEGV because the fault happens pointing at an io device address. While reviewing accounting logs during the OpenBSD system build, bluhm@ noticed a core dump and deraadt@ tracked it down. While researching it was discovered that this is a fairly common case in other systems as well. Original diff by deraadt@
Diffstat (limited to 'Configure')
-rwxr-xr-xConfigure3
1 files changed, 3 insertions, 0 deletions
diff --git a/Configure b/Configure
index a01c40943c..e064b3fbc2 100755
--- a/Configure
+++ b/Configure
@@ -21511,6 +21511,9 @@ int
main(int ac, char **av)
{
signal(SIGSEGV, exit);
+#ifdef SIGBUS
+ signal(SIGBUS, exit);
+#endif
myprintf("%s%cs all right, then\n", "that", '\'');
exit(0);