mirror of
https://github.com/fluencelabs/musl
synced 2025-04-24 14:52:13 +00:00
Merge pull request #48 from jfbastien/fix_signatures
Fix signatures of __libc_start_main/_init/_fini
This commit is contained in:
commit
0ed10f0b97
10
crt/crt1.c
10
crt/crt1.c
@ -4,15 +4,15 @@
|
||||
|
||||
#include "crt_arch.h"
|
||||
|
||||
int main();
|
||||
void _init() __attribute__((weak));
|
||||
void _fini() __attribute__((weak));
|
||||
int main(int argc, char *argv[]);
|
||||
void _init(void) __attribute__((weak));
|
||||
void _fini(void) __attribute__((weak));
|
||||
_Noreturn int __libc_start_main(int (*)(), int, char **,
|
||||
void (*)(), void(*)(), void(*)());
|
||||
void (*)(), void(*)());
|
||||
|
||||
void _start_c(long *p)
|
||||
{
|
||||
int argc = p[0];
|
||||
char **argv = (void *)(p+1);
|
||||
__libc_start_main(main, argc, argv, _init, _fini, 0);
|
||||
__libc_start_main(main, argc, argv, _init, _fini);
|
||||
}
|
||||
|
@ -3,13 +3,13 @@
|
||||
#include "../ldso/dlstart.c"
|
||||
|
||||
int main();
|
||||
void _init() __attribute__((weak));
|
||||
void _fini() __attribute__((weak));
|
||||
void _init(void) __attribute__((weak));
|
||||
void _fini(void) __attribute__((weak));
|
||||
_Noreturn int __libc_start_main(int (*)(), int, char **,
|
||||
void (*)(), void(*)(), void(*)());
|
||||
void (*)(), void(*)());
|
||||
|
||||
__attribute__((__visibility__("hidden")))
|
||||
_Noreturn void __dls2(unsigned char *base, size_t *sp)
|
||||
{
|
||||
__libc_start_main(main, *sp, (void *)(sp+1), _init, _fini, 0);
|
||||
__libc_start_main(main, *sp, (void *)(sp+1), _init, _fini);
|
||||
}
|
||||
|
3
src/env/__libc_start_main.c
vendored
3
src/env/__libc_start_main.c
vendored
@ -67,7 +67,8 @@ static void libc_start_init(void)
|
||||
|
||||
weak_alias(libc_start_init, __libc_start_init);
|
||||
|
||||
int __libc_start_main(int (*main)(int,char **,char **), int argc, char **argv)
|
||||
int __libc_start_main(int (*main)(int,char **,char **), int argc, char **argv,
|
||||
void(*init)(), void(*fini)())
|
||||
{
|
||||
char **envp = argv+argc+1;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user