path: root/defines.h
diff options
authorDarren Tucker <>2019-10-08 14:44:50 +1100
committerDarren Tucker <>2019-10-08 14:48:32 +1100
commit0c7f8d2326d812b371f7afd63aff846973ec80a4 (patch)
tree9d0959b62459c60b30fbbbb653036693477583c9 /defines.h
parentb1e79ea8fae9c252399677a28707661d85c7d00c (diff)
Make DEF_WEAK more likely to be correct.
Completely nop-ing out DEF_WEAK leaves an empty statemment which some compilers don't like. Replace with a no-op function template. ok djm@
Diffstat (limited to 'defines.h')
1 files changed, 3 insertions, 2 deletions
diff --git a/defines.h b/defines.h
index e37e1647..7855fbf9 100644
--- a/defines.h
+++ b/defines.h
@@ -839,9 +839,10 @@ struct winsize {
* We want functions in openbsd-compat, if enabled, to override system ones.
* We no-op out the weak symbol definition rather than remove it to reduce
- * future sync problems.
+ * future sync problems. Some compilers (eg Unixware) do not allow an
+ * empty statement, so we use a bogus function declaration.
-#define DEF_WEAK(x)
+#define DEF_WEAK(x) void __ssh_compat_weak_##x(void)
* Platforms that have arc4random_uniform() and not arc4random_stir()