Browse Source

Attempt to use local _init and _fini procedures

Pierre Muller 2 years ago
parent
commit
0efa4cbc67
1 changed files with 13 additions and 2 deletions
  1. 13 2
      rtl/linux/xtensa/si_uc.inc

+ 13 - 2
rtl/linux/xtensa/si_uc.inc

@@ -22,11 +22,22 @@ var
   BSS_START: record end; external name '__bss_start';
   BSS_START: record end; external name '__bss_start';
   STACK_PTR: record end; external name '__stkptr';
   STACK_PTR: record end; external name '__stkptr';
 
 
-  uclibc_init : TProcedure; external name '_init';
-  uclibc_fini : TProcedure; external name '_fini';
+  //uclibc_init : TProcedure; external name '_init';
+  //uclibc_fini : TProcedure; external name '_fini';
   procedure uclibc_exit(e : longint); weakexternal name 'exit';
   procedure uclibc_exit(e : longint); weakexternal name 'exit';
   procedure uclibc_main(main : TProcedure; argc : longint; argv : ppchar; init : TProcedure;  fini : TProcedure; sp : pointer); external name '__uClibc_main';
   procedure uclibc_main(main : TProcedure; argc : longint; argv : ppchar; init : TProcedure;  fini : TProcedure; sp : pointer); external name '__uClibc_main';
 
 
+
+procedure uclibc_init; public name '_init'; assembler; nostackframe;
+  asm
+    entry a1, 48
+  end;
+
+procedure uclibc_fini; public name '_fini'; assembler; nostackframe;
+  asm
+    entry a1, 48
+  end;
+
 procedure _FPC_xtensa_enter(at_exit: TProcedure; sp: pptruint);
 procedure _FPC_xtensa_enter(at_exit: TProcedure; sp: pptruint);
   var
   var
     argc: ptruint;
     argc: ptruint;