From: Torsten Bögershausen <redacted>
Compiling/linking 82e79c63642c on an older MacOs machine leads to this:
Undefined symbols for architecture x86_64:
"_false_but_the_compiler_does_not_know_it_", referenced from:
_start_command in libgit.a(run-command.o)
The linker doesn't seem to pick up the symbol:
"false_but_the_compiler_does_not_know_it_"
Initializing the variable to 0 fixes the problem:
The symbol type changes from 'C' to 'S' and is picked up by the linker.
Helped-by: Koji Nakamaru [off-list ref]
Signed-off-by: Torsten Bögershausen <redacted>
---
compiler-tricks/not-constant.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Koji Nakamaru: Thanks for the digging.
This patch fixes the problem here - as a side note,
the change in Makefile alone doesn't help.
diff --git a/compiler-tricks/not-constant.c b/compiler-tricks/not-constant.c
index 1da3ffc2f5..9fb4f275b1 100644
--- a/compiler-tricks/not-constant.c
+++ b/compiler-tricks/not-constant.c
@@ -1,2 +1,2 @@
#include <git-compat-util.h>
-int false_but_the_compiler_does_not_know_it_;
+int false_but_the_compiler_does_not_know_it_ = 0;
--
2.39.5