Ver código fonte

Attempt to use local _init and _fini procedures

Pierre Muller 2 anos atrás
pai
commit
0efa4cbc67
1 arquivos alterados com 13 adições e 2 exclusões
  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';
   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_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);
   var
     argc: ptruint;