diff options
author | pommicket <pommicket@gmail.com> | 2023-07-03 15:47:07 -0400 |
---|---|---|
committer | pommicket <pommicket@gmail.com> | 2023-07-03 15:47:07 -0400 |
commit | 3384d6913338dcacd36468ea621668417cea1ed3 (patch) | |
tree | 9b0f7aa3d3229e1c0238057789834bdb0849bba7 /05/tcc-0.9.27/tcc.c | |
parent | fe7a0abd38d61a449c4beaa7a514c2be5df872cf (diff) |
fix compile errors
Diffstat (limited to '05/tcc-0.9.27/tcc.c')
-rw-r--r-- | 05/tcc-0.9.27/tcc.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/05/tcc-0.9.27/tcc.c b/05/tcc-0.9.27/tcc.c index e824f98..bd3f959 100644 --- a/05/tcc-0.9.27/tcc.c +++ b/05/tcc-0.9.27/tcc.c @@ -371,3 +371,24 @@ redo: fclose(ppfp); return ret; } + + + +char **__environ; + +int __libc_start_main( + int (*main)(int, char **, char **), int argc, char **argv, + int (*init)(int, char **, char **), void (*fini)(void), + void (*ldso_fini)(void)) +{ + /* Save the environment if it may be used by libc/application */ + char **envp = argv+argc+1; + if (__environ != (void *)-1) __environ = envp; + + /* Execute constructors (static) linked into the application */ + if (init) init(argc, argv, envp); + + /* Pass control to to application */ + exit(main(argc, argv, envp)); + return 0; +} |