Files
magnitudelib/crt/crt0.c

36 lines
668 B
C

//
// Created by dongl on 25-8-11.
//
#include <libk.h>
#include <features.h>
#define START "_start"
#include <crt.h>
weak void libk_init();
weak void libk_fini();
int main( int argc, char **argv );
int rt_main( int argc, char **argv );
int libk_start_main(
int (*)(),
int,
char **,
void (*)(),
void(*)(),
void(*)()
);
void _start_c( long *p )
{
// main 入口参数
const int argc = (int) p[0];
char **argv = (void *)(p+1);
(void) argv;
p[0] >> (sizeof(long) - 1)
? libk_start_main(main, argc, argv, libk_init, libk_fini, 0)
: libk_start_main(rt_main, argc, argv, libk_init, libk_fini, 0);
}