git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] Modify mingw_main() workaround to avoid link errors

From
Steffen Prohaska <prohaska@zib.de>
Date
Jul 26, 2008, 09:41 UTC
Message-ID
<1217065304-27815-1-git-send-email-prohaska@zib.de>
With MinGW's
   gcc.exe (GCC) 3.4.5 (mingw special)
   GNU ld version 2.17.50 20060824
the old define caused link errors:
   git.o: In function `main':
   C:/msysgit/git/git.c:500: undefined reference to `mingw_main'
   collect2: ld returned 1 exit status
The modified define works.
Signed-off-by: Steffen Prohaska <prohaska@zib.de>
---
 compat/mingw.h |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/compat/mingw.h b/compat/mingw.h
index 290a9e6..a52e657 100644
--- a/compat/mingw.h
+++ b/compat/mingw.h
@@ -228,9 +228,10 @@ char **env_setenv(char **env, const char *name);
  * A replacement of main() that ensures that argv[0] has a path
  */
 
-#define main(c,v) main(int argc, const char **argv) \
+#define main(c,v) dummy_decl_mingw_main(); \
+static int mingw_main(); \
+int main(int argc, const char **argv) \
 { \
-	static int mingw_main(); \
 	argv[0] = xstrdup(_pgmptr); \
 	return mingw_main(argc, argv); \
 } \
-- 
1.6.0.rc0.42.g186458
Next: Johannes Schindelin
Message 1 of 21 in “Modify mingw_main() workaround to avoid link errors”
  1. Modify mingw_main() workaround to avoid link errorsSteffen Prohaska, Jul 26, 2008
  2. Johannes SchindelinJul 26, 2008
  3. Steffen ProhaskaJul 26, 2008
  4. Set up argv0_path correctly, even when argv[0] is just the basenameJohannes Schindelin, Jul 26, 2008
  5. Rene HermanJul 26, 2008
  6. Johannes SchindelinJul 26, 2008
  7. Rene HermanJul 26, 2008
  8. Johannes SchindelinJul 26, 2008
  9. Rene HermanJul 26, 2008
  10. Junio C HamanoJul 26, 2008
  11. Johannes SchindelinJul 26, 2008
  12. Jan HudecAug 3, 2008
  13. Junio C HamanoAug 3, 2008
  14. Johannes SixtJul 26, 2008
  15. Steffen ProhaskaJul 26, 2008
  16. Johannes SixtJul 27, 2008
  17. Steffen ProhaskaJul 29, 2008
  18. Johannes SixtJul 29, 2008
  19. Steffen ProhaskaJul 29, 2008
  20. Johannes SixtAug 3, 2008
  21. Junio C HamanoAug 3, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.