Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Autres questions


Index du Forum » Autres questions » libm pour systèmes embarqués
Inikiwi En ligne Membre Points: 521 Défis: 8 Message

libm pour systèmes embarqués

Posté le 23/02/2023 10:08

bonjour. pour un projet je dois recoder la libc. or ducoup je dois trouver une libm codée en pur c sans plateforme spécifique.
or je n'en trouve pas... vous en connaissez une?


1, 2 Suivante
Lephenixnoir En ligne Administrateur Points: 24053 Défis: 169 Message

Citer : Posté le 23/02/2023 11:11 | #


Tu peux utiliser https://github.com/JuliaMath/openlibm (c'est ce que je fais pour le fxSDK).
Mon graphe (16 Jan): (PythonExtra ; fxsdk#11 ; gint#27 ; (Rogue Life || HH2) ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Inikiwi En ligne Membre Points: 521 Défis: 8 Message

Citer : Posté le 23/02/2023 12:12 | #


j'ai regardé mais il y a beaucoup de code pour des plateformes spécifiques. je cherche une lib 100% en c. même si c'est du pur software et non hardware.
Lephenixnoir En ligne Administrateur Points: 24053 Défis: 169 Message

Citer : Posté le 23/02/2023 12:57 | #


Il y a des optimisations spécifiques à la plateforme mais src/ + ld80/ ça te fait la lib math complète en pur C. Regarde mon clone sur Gitea tu verras que j'ai essentiellement rien changé.
Mon graphe (16 Jan): (PythonExtra ; fxsdk#11 ; gint#27 ; (Rogue Life || HH2) ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Inikiwi En ligne Membre Points: 521 Défis: 8 Message

Citer : Posté le 23/02/2023 13:14 | #


oh! merci beacoup. je n'avais pas regardé cette arch car je ne la connaissait pas.
Lephenixnoir En ligne Administrateur Points: 24053 Défis: 169 Message

Citer : Posté le 23/02/2023 13:43 | #


Ce n'est pas une architecture. Regarde bien les dossiers, les dossiers spécifiques aux architectures contiennent juste quelques fichiers (en gros fenv.c) pour spécifier les options. Les trois dossiers, src, ld80 et ld128 contiennent le code. src implémente les fonctions sur les float et les double, ld80 implémente les fonctions sur les long double en supposant qu'ils font 80 bits (d'où le nom du dossier : ld80 → long double 80 bits), et ld128 implémente les fonctions sur les long double en supposant qu'ils font 128 bits.

D'ailleurs je me suis trompé, c'est pas ld80 qu'il faut regarder (c'est spécifique x86). Il faut prendre soit src + ld128 soit src tout seul (si les long double font 64 bits et sont donc identiques aux double).

Après cette histoire de long double ça soulève une question : tu veux une version de la lib indépendante de la plateforme, mais ta plateforme elle a des long double de quelle taille ? Et si tu codes sur plusieurs plateformes en même temps, est-ce que ces plateformes sont d'accord ? Parce que si elles ont des tailles différentes, le même code pourra donner des résultats différents.
Mon graphe (16 Jan): (PythonExtra ; fxsdk#11 ; gint#27 ; (Rogue Life || HH2) ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Inikiwi En ligne Membre Points: 521 Défis: 8 Message

Citer : Posté le 23/02/2023 14:05 | #


quel bazar! pour l'instant je code pour amd64 mais je compte ajouter les casio et autres plateformes.
au pire je vais juste inclure openlibm et je rajouterait des architectures.
Inikiwi En ligne Membre Points: 521 Défis: 8 Message

Citer : Posté le 23/02/2023 14:50 | #


j'ai ajouté le /include de openlibm et j'ai dejà des erreurs
ld : build/lua/lmathlib.o:(.bss+0x0) : définitions multiples de « __BEGIN_DECLS »; build/lua/lvm.o:(.bss+0x0) : défini pour la première fois ici
ld : build/lua/lmathlib.o:(.bss+0x4) : définitions multiples de « __END_DECLS »; build/lua/lvm.o:(.bss+0x4) : défini pour la première fois ici
ld : build/lua/liolib.o:(.bss+0x0) : définitions multiples de « errno »; build/lua/lauxlib.o:(.bss+0x0) : défini pour la première fois ici
ld : build/lua/lcode.o:(.bss+0x0) : définitions multiples de « __BEGIN_DECLS »; build/lua/lvm.o:(.bss+0x0) : défini pour la première fois ici
ld : build/lua/lcode.o:(.bss+0x4) : définitions multiples de « __END_DECLS »; build/lua/lvm.o:(.bss+0x4) : défini pour la première fois ici
ld : build/lua/ltable.o:(.bss+0x0) : définitions multiples de « __BEGIN_DECLS »; build/lua/lvm.o:(.bss+0x0) : défini pour la première fois ici
ld : build/lua/ltable.o:(.bss+0x4) : définitions multiples de « __END_DECLS »; build/lua/lvm.o:(.bss+0x4) : défini pour la première fois ici
ld : build/lua/loslib.o:(.bss+0x0) : définitions multiples de « errno »; build/lua/lauxlib.o:(.bss+0x0) : défini pour la première fois ici
ld : build/lua/lobject.o:(.bss+0x0) : définitions multiples de « __BEGIN_DECLS »; build/lua/lvm.o:(.bss+0x0) : défini pour la première fois ici
ld : build/lua/lobject.o:(.bss+0x4) : définitions multiples de « __END_DECLS »; build/lua/lvm.o:(.bss+0x4) : défini pour la première fois ici
ld : build/lua/lstrlib.o:(.bss+0x0) : définitions multiples de « __BEGIN_DECLS »; build/lua/lvm.o:(.bss+0x0) : défini pour la première fois ici
ld : build/lua/lstrlib.o:(.bss+0x4) : définitions multiples de « __END_DECLS »; build/lua/lvm.o:(.bss+0x4) : défini pour la première fois ici
ld : build/lua/luac.o:(.bss+0x0) : définitions multiples de « errno »; build/lua/lauxlib.o:(.bss+0x0) : défini pour la première fois ici


j'ai deja dû ajouter des ; car il y an avait pas après __BEGIN_DECLS et __END_DECLS
Lephenixnoir En ligne Administrateur Points: 24053 Défis: 169 Message

Citer : Posté le 23/02/2023 14:53 | #


Pour __BEGIN_DECLS et __END_DECLS : enlève tes ; il n'y en a pas besoin (c'est des macros !).

Pour errno c'est possiblement ta libc donc le <errno.h> ne se comporte pas bien (attention à ne pas définir errno en globale dedans !).
Mon graphe (16 Jan): (PythonExtra ; fxsdk#11 ; gint#27 ; (Rogue Life || HH2) ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Inikiwi En ligne Membre Points: 521 Défis: 8 Message

Citer : Posté le 23/02/2023 14:57 | #


c'est bon j'ai corrigé les problèmes. mais il me reste encore beaucoup de boulot
mkdir -p build/kernel/ && \
gcc -c -nostdinc -I src/klibc/ -I src/openlibm/include -ffreestanding  src/kernel/main.c -o build/kernel/main.o
mkdir -p build/kernel/ && \
gcc -c -nostdinc -I src/klibc/ -I src/openlibm/include -ffreestanding  src/kernel/console.c -o build/kernel/console.o
src/kernel/console.c: In function ‘console_print’:
src/kernel/console.c:20:21: warning: passing argument 1 of ‘console_display’ from incompatible pointer type [-Wincompatible-pointer-types]
   20 |     console_display(&buffer);
      |                     ^~~~~~~
      |                     |
      |                     char (*)[4096]
In file included from src/kernel/console.c:1:
src/kernel/../console.h:13:28: note: expected ‘char *’ but argument is of type ‘char (*)[4096]’
   13 | void console_display(char* data);
      |                      ~~~~~~^~~~
mkdir -p build/x86_64/ && \
gcc -c -nostdinc -I src/klibc/ -I src/openlibm/include -ffreestanding  src/arch/x86_64/io.c -o build/x86_64/io.o
mkdir -p build/x86_64/ && \
gcc -c -nostdinc -I src/klibc/ -I src/openlibm/include -ffreestanding  src/arch/x86_64/console.c -o build/x86_64/console.o
mkdir -p build/x86_64/boot/ && \
nasm -f elf64  src/arch/x86_64/boot/main.asm -o build/x86_64/boot/main.o
mkdir -p build/x86_64/boot/ && \
nasm -f elf64  src/arch/x86_64/boot/header.asm -o build/x86_64/boot/header.o
mkdir -p build/x86_64/boot/ && \
nasm -f elf64  src/arch/x86_64/boot/main64.asm -o build/x86_64/boot/main64.o
mkdir -p build/lua/ && \
gcc -c -nostdinc -I src/klibc/ -I src/openlibm/include -DLUA_USE_C89 -ffreestanding  src/lua/lmem.c -o build/lua/lmem.o
mkdir -p build/lua/ && \
gcc -c -nostdinc -I src/klibc/ -I src/openlibm/include -DLUA_USE_C89 -ffreestanding  src/lua/ldebug.c -o build/lua/ldebug.o
mkdir -p build/lua/ && \
gcc -c -nostdinc -I src/klibc/ -I src/openlibm/include -DLUA_USE_C89 -ffreestanding  src/lua/lapi.c -o build/lua/lapi.o
mkdir -p build/lua/ && \
gcc -c -nostdinc -I src/klibc/ -I src/openlibm/include -DLUA_USE_C89 -ffreestanding  src/lua/ldo.c -o build/lua/ldo.o
src/lua/ldo.c: In function ‘luaD_throw’:
src/lua/ldo.c:135:1: warning: ‘noreturn’ function does return
  135 | }
      | ^
mkdir -p build/lua/ && \
gcc -c -nostdinc -I src/klibc/ -I src/openlibm/include -DLUA_USE_C89 -ffreestanding  src/lua/lauxlib.c -o build/lua/lauxlib.o
src/lua/lauxlib.c: In function ‘luaL_addlstring’:
src/lua/lauxlib.c:582:15: warning: passing argument 2 of ‘memcpy’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  582 |     memcpy(b, s, l * sizeof(char));
      |               ^
In file included from src/lua/lauxlib.c:17:
src/klibc/string.h:7:32: note: expected ‘void *’ but argument is of type ‘const char *’
    7 | void memcpy(void* _dest, void* _src, size_t n);
      |                          ~~~~~~^~~~
src/lua/lauxlib.c: In function ‘luaL_addvalue’:
src/lua/lauxlib.c:623:13: warning: passing argument 2 of ‘memcpy’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  623 |   memcpy(b, s, len * sizeof(char));
      |             ^
src/klibc/string.h:7:32: note: expected ‘void *’ but argument is of type ‘const char *’
    7 | void memcpy(void* _dest, void* _src, size_t n);
      |                          ~~~~~~^~~~
src/lua/lauxlib.c: In function ‘getF’:
src/lua/lauxlib.c:726:9: warning: implicit declaration of function ‘feof’ [-Wimplicit-function-declaration]
  726 |     if (feof(lf->f)) return NULL;
      |         ^~~~
src/lua/lauxlib.c:727:13: warning: implicit declaration of function ‘fread’ [-Wimplicit-function-declaration]
  727 |     *size = fread(lf->buff, 1, sizeof(lf->buff), lf->f);  /* read block */
      |             ^~~~~
src/lua/lauxlib.c: In function ‘luaL_loadfilex’:
src/lua/lauxlib.c:788:12: warning: implicit declaration of function ‘fopen’ [-Wimplicit-function-declaration]
  788 |     lf.f = fopen(filename, "r");
      |            ^~~~~
src/lua/lauxlib.c:28:1: note: ‘fopen’ is defined in header ‘<stdio.h>’; did you forget to ‘#include <stdio.h>’?
   27 | #include "lauxlib.h"
  +++ |+#include <stdio.h>
   28 |
src/lua/lauxlib.c:788:10: warning: assignment to ‘FILE *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
  788 |     lf.f = fopen(filename, "r");
      |          ^
src/lua/lauxlib.c:794:12: warning: implicit declaration of function ‘freopen’ [-Wimplicit-function-declaration]
  794 |     lf.f = freopen(filename, "rb", lf.f);  /* reopen in binary mode */
      |            ^~~~~~~
src/lua/lauxlib.c:794:10: warning: assignment to ‘FILE *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
  794 |     lf.f = freopen(filename, "rb", lf.f);  /* reopen in binary mode */
      |          ^
src/lua/lauxlib.c:801:16: warning: implicit declaration of function ‘ferror’; did you mean ‘interror’? [-Wimplicit-function-declaration]
  801 |   readstatus = ferror(lf.f);
      |                ^~~~~~
      |                interror
src/lua/lauxlib.c:802:17: warning: implicit declaration of function ‘fclose’; did you mean ‘false’? [-Wimplicit-function-declaration]
  802 |   if (filename) fclose(lf.f);  /* close file (even in case of errors) */
      |                 ^~~~~~
      |                 false
src/lua/lauxlib.c: In function ‘l_alloc’:
src/lua/lauxlib.c:1013:5: warning: implicit declaration of function ‘free’ [-Wimplicit-function-declaration]
1013 |     free(ptr);
      |     ^~~~
src/lua/lauxlib.c:28:1: note: ‘free’ is defined in header ‘<stdlib.h>’; did you forget to ‘#include <stdlib.h>’?
   27 | #include "lauxlib.h"
  +++ |+#include <stdlib.h>
   28 |
src/lua/lauxlib.c:1017:12: warning: implicit declaration of function ‘realloc’ [-Wimplicit-function-declaration]
1017 |     return realloc(ptr, nsize);
      |            ^~~~~~~
src/lua/lauxlib.c:1017:12: note: ‘realloc’ is defined in header ‘<stdlib.h>’; did you forget to ‘#include <stdlib.h>’?
src/lua/lauxlib.c:1017:12: warning: returning ‘int’ from a function with return type ‘void *’ makes pointer from integer without a cast [-Wint-conversion]
1017 |     return realloc(ptr, nsize);
      |            ^~~~~~~~~~~~~~~~~~~
mkdir -p build/lua/ && \
gcc -c -nostdinc -I src/klibc/ -I src/openlibm/include -DLUA_USE_C89 -ffreestanding  src/lua/lcorolib.c -o build/lua/lcorolib.o
mkdir -p build/lua/ && \
gcc -c -nostdinc -I src/klibc/ -I src/openlibm/include -DLUA_USE_C89 -ffreestanding  src/lua/lgc.c -o build/lua/lgc.o
mkdir -p build/lua/ && \
gcc -c -nostdinc -I src/klibc/ -I src/openlibm/include -DLUA_USE_C89 -ffreestanding  src/lua/lfunc.c -o build/lua/lfunc.o
mkdir -p build/lua/ && \
gcc -c -nostdinc -I src/klibc/ -I src/openlibm/include -DLUA_USE_C89 -ffreestanding  src/lua/lvm.c -o build/lua/lvm.o
In file included from src/openlibm/include/openlibm.h:6,
                 from src/klibc/math.h:7,
                 from src/lua/lvm.c:14:
src/openlibm/include/openlibm_math.h:70: warning: "HUGE_VAL" redefined
   70 | #define HUGE_VAL        __builtin_huge_val()
      |
src/klibc/math.h:6: note: this is the location of the previous definition
    6 | #define HUGE_VAL 1e10000
      |
src/lua/lvm.c: In function ‘l_strcmp’:
src/lua/lvm.c:381:16: warning: implicit declaration of function ‘strcoll’ [-Wimplicit-function-declaration]
  381 |     int temp = strcoll(l, r);
      |                ^~~~~~~
mkdir -p build/lua/ && \
gcc -c -nostdinc -I src/klibc/ -I src/openlibm/include -DLUA_USE_C89 -ffreestanding  src/lua/lmathlib.c -o build/lua/lmathlib.o
In file included from src/openlibm/include/openlibm.h:6,
                 from src/klibc/math.h:7,
                 from src/lua/lmathlib.c:15:
src/openlibm/include/openlibm_math.h:70: warning: "HUGE_VAL" redefined
   70 | #define HUGE_VAL        __builtin_huge_val()
      |
src/klibc/math.h:6: note: this is the location of the previous definition
    6 | #define HUGE_VAL 1e10000
      |
src/lua/lmathlib.c: In function ‘randseed’:
src/lua/lmathlib.c:612:38: warning: implicit declaration of function ‘time’ [-Wimplicit-function-declaration]
  612 |   lua_Unsigned seed1 = (lua_Unsigned)time(NULL);
      |                                      ^~~~
src/lua/lmathlib.c:23:1: note: ‘time’ is defined in header ‘<time.h>’; did you forget to ‘#include <time.h>’?
   22 | #include "lualib.h"
  +++ |+#include <time.h>
   23 |
mkdir -p build/lua/ && \
gcc -c -nostdinc -I src/klibc/ -I src/openlibm/include -DLUA_USE_C89 -ffreestanding  src/lua/ltm.c -o build/lua/ltm.o
mkdir -p build/lua/ && \
gcc -c -nostdinc -I src/klibc/ -I src/openlibm/include -DLUA_USE_C89 -ffreestanding  src/lua/ldblib.c -o build/lua/ldblib.o
src/lua/ldblib.c: In function ‘db_debug’:
src/lua/ldblib.c:424:9: warning: implicit declaration of function ‘fgets’; did you mean ‘fgetc’? [-Wimplicit-function-declaration]
  424 |     if (fgets(buffer, sizeof(buffer), stdin) == NULL ||
      |         ^~~~~
      |         fgetc
src/lua/ldblib.c:424:46: warning: comparison between pointer and integer
  424 |     if (fgets(buffer, sizeof(buffer), stdin) == NULL ||
      |                                              ^~
mkdir -p build/lua/ && \
gcc -c -nostdinc -I src/klibc/ -I src/openlibm/include -DLUA_USE_C89 -ffreestanding  src/lua/ltablib.c -o build/lua/ltablib.o
src/lua/ltablib.c: In function ‘l_randomizePivot’:
src/lua/ltablib.c:246:15: warning: implicit declaration of function ‘clock’ [-Wimplicit-function-declaration]
  246 |   clock_t c = clock();
      |               ^~~~~
src/lua/ltablib.c:235:1: note: ‘clock’ is defined in header ‘<time.h>’; did you forget to ‘#include <time.h>’?
  234 | #include <time.h>
  +++ |+#include <time.h>
  235 |
src/lua/ltablib.c:247:14: warning: implicit declaration of function ‘time’ [-Wimplicit-function-declaration]
  247 |   time_t t = time(NULL);
      |              ^~~~
src/lua/ltablib.c:247:14: note: ‘time’ is defined in header ‘<time.h>’; did you forget to ‘#include <time.h>’?
mkdir -p build/lua/ && \
gcc -c -nostdinc -I src/klibc/ -I src/openlibm/include -DLUA_USE_C89 -ffreestanding  src/lua/liolib.c -o build/lua/liolib.o
src/lua/liolib.c: In function ‘io_fclose’:
src/lua/liolib.c:248:13: warning: implicit declaration of function ‘fclose’; did you mean ‘f_close’? [-Wimplicit-function-declaration]
  248 |   int res = fclose(p->f);
      |             ^~~~~~
      |             f_close
src/lua/liolib.c: In function ‘opencheck’:
src/lua/liolib.c:263:10: warning: implicit declaration of function ‘fopen’ [-Wimplicit-function-declaration]
  263 |   p->f = fopen(fname, mode);
      |          ^~~~~
src/lua/liolib.c:24:1: note: ‘fopen’ is defined in header ‘<stdio.h>’; did you forget to ‘#include <stdio.h>’?
   23 | #include "lualib.h"
  +++ |+#include <stdio.h>
   24 |
src/lua/liolib.c:263:8: warning: assignment to ‘FILE *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
  263 |   p->f = fopen(fname, mode);
      |        ^
src/lua/liolib.c: In function ‘io_open’:
src/lua/liolib.c:275:8: warning: assignment to ‘FILE *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
  275 |   p->f = fopen(filename, mode);
      |        ^
src/lua/liolib.c: In function ‘io_tmpfile’:
src/lua/liolib.c:303:10: warning: implicit declaration of function ‘tmpfile’; did you mean ‘tofile’? [-Wimplicit-function-declaration]
  303 |   p->f = tmpfile();
      |          ^~~~~~~
      |          tofile
src/lua/liolib.c:303:8: warning: assignment to ‘FILE *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
  303 |   p->f = tmpfile();
      |        ^
src/lua/liolib.c: In function ‘read_number’:
src/lua/liolib.c:499:3: warning: implicit declaration of function ‘ungetc’; did you mean ‘getc’? [-Wimplicit-function-declaration]
  499 |   ungetc(rn.c, rn.f);  /* unread look-ahead char */
      |   ^~~~~~
      |   getc
src/lua/liolib.c: In function ‘read_all’:
src/lua/liolib.c:546:10: warning: implicit declaration of function ‘fread’ [-Wimplicit-function-declaration]
  546 |     nr = fread(p, sizeof(char), LUAL_BUFFERSIZE, f);
      |          ^~~~~
src/lua/liolib.c: In function ‘g_read’:
src/lua/liolib.c:569:3: warning: implicit declaration of function ‘clearerr’ [-Wimplicit-function-declaration]
  569 |   clearerr(f);
      |   ^~~~~~~~
src/lua/liolib.c:606:7: warning: implicit declaration of function ‘ferror’; did you mean ‘strerror’? [-Wimplicit-function-declaration]
  606 |   if (ferror(f))
      |       ^~~~~~
      |       strerror
src/lua/liolib.c: In function ‘f_seek’:
src/lua/liolib.c:137:33: warning: implicit declaration of function ‘fseek’; did you mean ‘f_seek’? [-Wimplicit-function-declaration]
  137 | #define l_fseek(f,o,w)          fseek(f,o,w)
      |                                 ^~~~~
src/lua/liolib.c:706:8: note: in expansion of macro ‘l_fseek’
  706 |   op = l_fseek(f, offset, mode[op]);
      |        ^~~~~~~
src/lua/liolib.c:138:33: warning: implicit declaration of function ‘ftell’; did you mean ‘l_ftell’? [-Wimplicit-function-declaration]
  138 | #define l_ftell(f)              ftell(f)
      |                                 ^~~~~
src/lua/liolib.c:710:37: note: in expansion of macro ‘l_ftell’
  710 |     lua_pushinteger(L, (lua_Integer)l_ftell(f));
      |                                     ^~~~~~~
src/lua/liolib.c: In function ‘f_setvbuf’:
src/lua/liolib.c:722:13: warning: implicit declaration of function ‘setvbuf’; did you mean ‘f_setvbuf’? [-Wimplicit-function-declaration]
  722 |   int res = setvbuf(f, NULL, mode[op], (size_t)sz);
      |             ^~~~~~~
      |             f_setvbuf
mkdir -p build/lua/ && \
gcc -c -nostdinc -I src/klibc/ -I src/openlibm/include -DLUA_USE_C89 -ffreestanding  src/lua/lcode.c -o build/lua/lcode.o
In file included from src/openlibm/include/openlibm.h:6,
                 from src/klibc/math.h:7,
                 from src/lua/lcode.c:14:
src/openlibm/include/openlibm_math.h:70: warning: "HUGE_VAL" redefined
   70 | #define HUGE_VAL        __builtin_huge_val()
      |
src/klibc/math.h:6: note: this is the location of the previous definition
    6 | #define HUGE_VAL 1e10000
      |
src/lua/lcode.c: In function ‘savelineinfo’:
src/lua/lcode.c:331:7: warning: implicit declaration of function ‘abs’; did you mean ‘fabs’? [-Wimplicit-function-declaration]
  331 |   if (abs(linedif) >= LIMLINEDIFF || fs->iwthabs++ >= MAXIWTHABS) {
      |       ^~~
      |       fabs
mkdir -p build/lua/ && \
gcc -c -nostdinc -I src/klibc/ -I src/openlibm/include -DLUA_USE_C89 -ffreestanding  src/lua/lzio.c -o build/lua/lzio.o
src/lua/lzio.c: In function ‘luaZ_read’:
src/lua/lzio.c:60:16: warning: passing argument 2 of ‘memcpy’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   60 |     memcpy(b, z->p, m);
      |               ~^~~
In file included from src/lua/lzio.c:13:
src/klibc/string.h:7:32: note: expected ‘void *’ but argument is of type ‘const char *’
    7 | void memcpy(void* _dest, void* _src, size_t n);
      |                          ~~~~~~^~~~
mkdir -p build/lua/ && \
gcc -c -nostdinc -I src/klibc/ -I src/openlibm/include -DLUA_USE_C89 -ffreestanding  src/lua/ltable.c -o build/lua/ltable.o
In file included from src/openlibm/include/openlibm.h:6,
                 from src/klibc/math.h:7,
                 from src/lua/ltable.c:26:
src/openlibm/include/openlibm_math.h:70: warning: "HUGE_VAL" redefined
   70 | #define HUGE_VAL        __builtin_huge_val()
      |
src/klibc/math.h:6: note: this is the location of the previous definition
    6 | #define HUGE_VAL 1e10000
      |
mkdir -p build/lua/ && \
gcc -c -nostdinc -I src/klibc/ -I src/openlibm/include -DLUA_USE_C89 -ffreestanding  src/lua/lparser.c -o build/lua/lparser.o
mkdir -p build/lua/ && \
gcc -c -nostdinc -I src/klibc/ -I src/openlibm/include -DLUA_USE_C89 -ffreestanding  src/lua/lstring.c -o build/lua/lstring.o
src/lua/lstring.c: In function ‘internshrstr’:
src/lua/lstring.c:209:22: warning: passing argument 2 of ‘memcpy’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  209 |   memcpy(getstr(ts), str, l * sizeof(char));
      |                      ^~~
In file included from src/lua/lstring.c:13:
src/klibc/string.h:7:32: note: expected ‘void *’ but argument is of type ‘const char *’
    7 | void memcpy(void* _dest, void* _src, size_t n);
      |                          ~~~~~~^~~~
src/lua/lstring.c: In function ‘luaS_newlstr’:
src/lua/lstring.c:229:24: warning: passing argument 2 of ‘memcpy’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  229 |     memcpy(getstr(ts), str, l * sizeof(char));
      |                        ^~~
src/klibc/string.h:7:32: note: expected ‘void *’ but argument is of type ‘const char *’
    7 | void memcpy(void* _dest, void* _src, size_t n);
      |                          ~~~~~~^~~~
mkdir -p build/lua/ && \
gcc -c -nostdinc -I src/klibc/ -I src/openlibm/include -DLUA_USE_C89 -ffreestanding  src/lua/llex.c -o build/lua/llex.o
mkdir -p build/lua/ && \
gcc -c -nostdinc -I src/klibc/ -I src/openlibm/include -DLUA_USE_C89 -ffreestanding  src/lua/loslib.c -o build/lua/loslib.o
src/lua/loslib.c: In function ‘os_execute’:
src/lua/loslib.c:146:10: warning: implicit declaration of function ‘system’ [-Wimplicit-function-declaration]
  146 |   stat = system(cmd);
      |          ^~~~~~
src/lua/loslib.c: In function ‘os_remove’:
src/lua/loslib.c:158:29: warning: implicit declaration of function ‘remove’; did you mean ‘os_remove’? [-Wimplicit-function-declaration]
  158 |   return luaL_fileresult(L, remove(filename) == 0, filename);
      |                             ^~~~~~
      |                             os_remove
src/lua/loslib.c: In function ‘os_rename’:
src/lua/loslib.c:165:29: warning: implicit declaration of function ‘rename’; did you mean ‘os_rename’? [-Wimplicit-function-declaration]
  165 |   return luaL_fileresult(L, rename(fromname, toname) == 0, NULL);
      |                             ^~~~~~
      |                             os_rename
src/lua/loslib.c: In function ‘os_tmpname’:
src/lua/loslib.c:133:40: warning: implicit declaration of function ‘tmpnam’; did you mean ‘L_tmpnam’? [-Wimplicit-function-declaration]
  133 | #define lua_tmpnam(b,e)         { e = (tmpnam(b) == NULL); }
      |                                        ^~~~~~
src/lua/loslib.c:172:3: note: in expansion of macro ‘lua_tmpnam’
  172 |   lua_tmpnam(buff, err);
      |   ^~~~~~~~~~
src/lua/loslib.c:133:50: warning: comparison between pointer and integer
  133 | #define lua_tmpnam(b,e)         { e = (tmpnam(b) == NULL); }
      |                                                  ^~
src/lua/loslib.c:172:3: note: in expansion of macro ‘lua_tmpnam’
  172 |   lua_tmpnam(buff, err);
      |   ^~~~~~~~~~
src/lua/loslib.c: In function ‘os_getenv’:
src/lua/loslib.c:181:21: warning: implicit declaration of function ‘getenv’ [-Wimplicit-function-declaration]
  181 |   lua_pushstring(L, getenv(luaL_checkstring(L, 1)));  /* if NULL push nil */
      |                     ^~~~~~
src/lua/loslib.c:23:1: note: ‘getenv’ is defined in header ‘<stdlib.h>’; did you forget to ‘#include <stdlib.h>’?
   22 | #include "lualib.h"
  +++ |+#include <stdlib.h>
   23 |
src/lua/loslib.c:181:21: warning: passing argument 2 of ‘lua_pushstring’ makes pointer from integer without a cast [-Wint-conversion]
  181 |   lua_pushstring(L, getenv(luaL_checkstring(L, 1)));  /* if NULL push nil */
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                     |
      |                     int
In file included from src/lua/loslib.c:19:
src/lua/lua.h:237:65: note: expected ‘const char *’ but argument is of type ‘int’
  237 | LUA_API const char *(lua_pushstring) (lua_State *L, const char *s);
      |                                                     ~~~~~~~~~~~~^
src/lua/loslib.c: In function ‘os_clock’:
src/lua/loslib.c:187:34: warning: implicit declaration of function ‘clock’ [-Wimplicit-function-declaration]
  187 |   lua_pushnumber(L, ((lua_Number)clock())/(lua_Number)CLOCKS_PER_SEC);
      |                                  ^~~~~
src/lua/loslib.c:23:1: note: ‘clock’ is defined in header ‘<time.h>’; did you forget to ‘#include <time.h>’?
   22 | #include "lualib.h"
  +++ |+#include <time.h>
   23 |
src/lua/loslib.c: In function ‘checkoption’:
src/lua/loslib.c:282:20: warning: passing argument 2 of ‘memcpy’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  282 |       memcpy(buff, conv, oplen);  /* copy valid option to buffer */
      |                    ^~~~
In file included from src/lua/loslib.c:16:
src/klibc/string.h:7:32: note: expected ‘void *’ but argument is of type ‘const char *’
    7 | void memcpy(void* _dest, void* _src, size_t n);
      |                          ~~~~~~^~~~
In file included from src/lua/loslib.c:21:
src/lua/loslib.c: In function ‘os_date’:
src/lua/loslib.c:307:42: warning: implicit declaration of function ‘time’ [-Wimplicit-function-declaration]
  307 |   time_t t = luaL_opt(L, l_checktime, 2, time(NULL));
      |                                          ^~~~
src/lua/lauxlib.h:152:60: note: in definition of macro ‘luaL_opt’
  152 | #define luaL_opt(L,f,n,d)       (lua_isnoneornil(L,(n)) ? (d) : f(L,(n)))
      |                                                            ^
src/lua/loslib.c:307:42: note: ‘time’ is defined in header ‘<time.h>’; did you forget to ‘#include <time.h>’?
  307 |   time_t t = luaL_opt(L, l_checktime, 2, time(NULL));
      |                                          ^~~~
src/lua/lauxlib.h:152:60: note: in definition of macro ‘luaL_opt’
  152 | #define luaL_opt(L,f,n,d)       (lua_isnoneornil(L,(n)) ? (d) : f(L,(n)))
      |                                                            ^
src/lua/loslib.c:94:53: warning: implicit declaration of function ‘gmtime’ [-Wimplicit-function-declaration]
   94 | #define l_gmtime(t,r)           ((void)(r)->tm_sec, gmtime(t))
      |                                                     ^~~~~~
src/lua/loslib.c:311:11: note: in expansion of macro ‘l_gmtime’
  311 |     stm = l_gmtime(&t, &tmr);
      |           ^~~~~~~~
src/lua/loslib.c:94:53: note: ‘gmtime’ is defined in header ‘<time.h>’; did you forget to ‘#include <time.h>’?
   94 | #define l_gmtime(t,r)           ((void)(r)->tm_sec, gmtime(t))
      |                                                     ^~~~~~
src/lua/loslib.c:311:11: note: in expansion of macro ‘l_gmtime’
  311 |     stm = l_gmtime(&t, &tmr);
      |           ^~~~~~~~
src/lua/loslib.c:311:9: warning: assignment to ‘struct tm *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
  311 |     stm = l_gmtime(&t, &tmr);
      |         ^
src/lua/loslib.c:95:53: warning: implicit declaration of function ‘localtime’ [-Wimplicit-function-declaration]
   95 | #define l_localtime(t,r)        ((void)(r)->tm_sec, localtime(t))
      |                                                     ^~~~~~~~~
src/lua/loslib.c:315:11: note: in expansion of macro ‘l_localtime’
  315 |     stm = l_localtime(&t, &tmr);
      |           ^~~~~~~~~~~
src/lua/loslib.c:95:53: note: ‘localtime’ is defined in header ‘<time.h>’; did you forget to ‘#include <time.h>’?
   95 | #define l_localtime(t,r)        ((void)(r)->tm_sec, localtime(t))
      |                                                     ^~~~~~~~~
src/lua/loslib.c:315:11: note: in expansion of macro ‘l_localtime’
  315 |     stm = l_localtime(&t, &tmr);
      |           ^~~~~~~~~~~
src/lua/loslib.c:315:9: warning: assignment to ‘struct tm *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
  315 |     stm = l_localtime(&t, &tmr);
      |         ^
src/lua/loslib.c:336:18: warning: implicit declaration of function ‘strftime’ [-Wimplicit-function-declaration]
  336 |         reslen = strftime(buff, SIZETIMEFMT, cc, stm);
      |                  ^~~~~~~~
src/lua/loslib.c:336:18: note: ‘strftime’ is defined in header ‘<time.h>’; did you forget to ‘#include <time.h>’?
src/lua/loslib.c: In function ‘os_time’:
src/lua/loslib.c:361:9: warning: implicit declaration of function ‘mktime’ [-Wimplicit-function-declaration]
  361 |     t = mktime(&ts);
      |         ^~~~~~
src/lua/loslib.c:361:9: note: ‘mktime’ is defined in header ‘<time.h>’; did you forget to ‘#include <time.h>’?
src/lua/loslib.c: In function ‘os_difftime’:
src/lua/loslib.c:375:33: warning: implicit declaration of function ‘difftime’ [-Wimplicit-function-declaration]
  375 |   lua_pushnumber(L, (lua_Number)difftime(t1, t2));
      |                                 ^~~~~~~~
src/lua/loslib.c:375:33: note: ‘difftime’ is defined in header ‘<time.h>’; did you forget to ‘#include <time.h>’?
src/lua/loslib.c: In function ‘os_setlocale’:
src/lua/loslib.c:389:21: warning: implicit declaration of function ‘setlocale’; did you mean ‘os_setlocale’? [-Wimplicit-function-declaration]
  389 |   lua_pushstring(L, setlocale(cat[op], l));
      |                     ^~~~~~~~~
      |                     os_setlocale
src/lua/loslib.c:389:21: warning: passing argument 2 of ‘lua_pushstring’ makes pointer from integer without a cast [-Wint-conversion]
  389 |   lua_pushstring(L, setlocale(cat[op], l));
      |                     ^~~~~~~~~~~~~~~~~~~~~
      |                     |
      |                     int
src/lua/lua.h:237:65: note: expected ‘const char *’ but argument is of type ‘int’
  237 | LUA_API const char *(lua_pushstring) (lua_State *L, const char *s);
      |                                                     ~~~~~~~~~~~~^
mkdir -p build/lua/ && \
gcc -c -nostdinc -I src/klibc/ -I src/openlibm/include -DLUA_USE_C89 -ffreestanding  src/lua/lobject.c -o build/lua/lobject.o
In file included from src/openlibm/include/openlibm.h:6,
                 from src/klibc/math.h:7,
                 from src/lua/lobject.c:14:
src/openlibm/include/openlibm_math.h:70: warning: "HUGE_VAL" redefined
   70 | #define HUGE_VAL        __builtin_huge_val()
      |
src/klibc/math.h:6: note: this is the location of the previous definition
    6 | #define HUGE_VAL 1e10000
      |
In file included from src/lua/lua.h:16,
                 from src/lua/lobject.c:20:
src/lua/lobject.c: In function ‘l_str2dloc’:
src/lua/luaconf.h:632:46: warning: implicit declaration of function ‘strtod’ [-Wimplicit-function-declaration]
  632 | #define lua_str2number(s,p)     ((lua_Number)strtod((s), (p)))
      |                                              ^~~~~~
src/lua/lobject.c:231:29: note: in expansion of macro ‘lua_str2number’
  231 |                           : lua_str2number(s, &endptr);
      |                             ^~~~~~~~~~~~~~
src/lua/lobject.c: In function ‘addstr2buff’:
src/lua/lobject.c:446:16: warning: passing argument 2 of ‘memcpy’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  446 |     memcpy(bf, str, slen);  /* add string to buffer */
      |                ^~~
In file included from src/lua/lobject.c:18:
src/klibc/string.h:7:32: note: expected ‘void *’ but argument is of type ‘const char *’
    7 | void memcpy(void* _dest, void* _src, size_t n);
      |                          ~~~~~~^~~~
src/lua/lobject.c: In function ‘luaO_chunkid’:
src/lua/lobject.c:561:26: warning: passing argument 2 of ‘memcpy’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  561 |       memcpy(out, source + 1, srclen * sizeof(char));
      |                   ~~~~~~~^~~
src/klibc/string.h:7:32: note: expected ‘void *’ but argument is of type ‘const char *’
    7 | void memcpy(void* _dest, void* _src, size_t n);
      |                          ~~~~~~^~~~
src/lua/lobject.c:563:26: warning: passing argument 2 of ‘memcpy’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  563 |       addstr(out, source + 1, bufflen - 1);
      |                   ~~~~~~~^~~
src/lua/lobject.c:555:36: note: in definition of macro ‘addstr’
  555 | #define addstr(a,b,l)   ( memcpy(a,b,(l) * sizeof(char)), a += (l) )
      |                                    ^
src/klibc/string.h:7:32: note: expected ‘void *’ but argument is of type ‘const char *’
    7 | void memcpy(void* _dest, void* _src, size_t n);
      |                          ~~~~~~^~~~
src/lua/lobject.c:569:26: warning: passing argument 2 of ‘memcpy’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  569 |       memcpy(out, source + 1, srclen * sizeof(char));
      |                   ~~~~~~~^~~
src/klibc/string.h:7:32: note: expected ‘void *’ but argument is of type ‘const char *’
    7 | void memcpy(void* _dest, void* _src, size_t n);
      |                          ~~~~~~^~~~
src/lua/lobject.c:573:39: warning: passing argument 2 of ‘memcpy’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  573 |       memcpy(out, source + 1 + srclen - bufflen, bufflen * sizeof(char));
      |                   ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
src/klibc/string.h:7:32: note: expected ‘void *’ but argument is of type ‘const char *’
    7 | void memcpy(void* _dest, void* _src, size_t n);
      |                          ~~~~~~^~~~
src/lua/lobject.c:581:19: warning: passing argument 2 of ‘memcpy’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  581 |       addstr(out, source, srclen);  /* keep it */
      |                   ^~~~~~
src/lua/lobject.c:555:36: note: in definition of macro ‘addstr’
  555 | #define addstr(a,b,l)   ( memcpy(a,b,(l) * sizeof(char)), a += (l) )
      |                                    ^
src/klibc/string.h:7:32: note: expected ‘void *’ but argument is of type ‘const char *’
    7 | void memcpy(void* _dest, void* _src, size_t n);
      |                          ~~~~~~^~~~
src/lua/lobject.c:586:19: warning: passing argument 2 of ‘memcpy’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  586 |       addstr(out, source, srclen);
      |                   ^~~~~~
src/lua/lobject.c:555:36: note: in definition of macro ‘addstr’
  555 | #define addstr(a,b,l)   ( memcpy(a,b,(l) * sizeof(char)), a += (l) )
      |                                    ^
src/klibc/string.h:7:32: note: expected ‘void *’ but argument is of type ‘const char *’
    7 | void memcpy(void* _dest, void* _src, size_t n);
      |                          ~~~~~~^~~~
mkdir -p build/lua/ && \
gcc -c -nostdinc -I src/klibc/ -I src/openlibm/include -DLUA_USE_C89 -ffreestanding  src/lua/lundump.c -o build/lua/lundump.o
mkdir -p build/lua/ && \
gcc -c -nostdinc -I src/klibc/ -I src/openlibm/include -DLUA_USE_C89 -ffreestanding  src/lua/lbaselib.c -o build/lua/lbaselib.o
mkdir -p build/lua/ && \
gcc -c -nostdinc -I src/klibc/ -I src/openlibm/include -DLUA_USE_C89 -ffreestanding  src/lua/lstrlib.c -o build/lua/lstrlib.o
In file included from src/openlibm/include/openlibm.h:6,
                 from src/klibc/math.h:7,
                 from src/lua/lstrlib.c:17:
src/openlibm/include/openlibm_math.h:70: warning: "HUGE_VAL" redefined
   70 | #define HUGE_VAL        __builtin_huge_val()
      |
src/klibc/math.h:6: note: this is the location of the previous definition
    6 | #define HUGE_VAL 1e10000
      |
src/lua/lstrlib.c: In function ‘str_rep’:
src/lua/lstrlib.c:164:17: warning: passing argument 2 of ‘memcpy’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  164 |       memcpy(p, s, l * sizeof(char)); p += l;
      |                 ^
In file included from src/lua/lstrlib.c:21:
src/klibc/string.h:7:32: note: expected ‘void *’ but argument is of type ‘const char *’
    7 | void memcpy(void* _dest, void* _src, size_t n);
      |                          ~~~~~~^~~~
src/lua/lstrlib.c:166:19: warning: passing argument 2 of ‘memcpy’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  166 |         memcpy(p, sep, lsep * sizeof(char));
      |                   ^~~
src/klibc/string.h:7:32: note: expected ‘void *’ but argument is of type ‘const char *’
    7 | void memcpy(void* _dest, void* _src, size_t n);
      |                          ~~~~~~^~~~
src/lua/lstrlib.c:170:15: warning: passing argument 2 of ‘memcpy’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  170 |     memcpy(p, s, l * sizeof(char));  /* last copy (not followed by separator) */
      |               ^
src/klibc/string.h:7:32: note: expected ‘void *’ but argument is of type ‘const char *’
    7 | void memcpy(void* _dest, void* _src, size_t n);
      |                          ~~~~~~^~~~
src/lua/lstrlib.c: In function ‘scanformat’:
src/lua/lstrlib.c:1207:16: warning: passing argument 2 of ‘memcpy’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
1207 |   memcpy(form, strfrmt, ((p - strfrmt) + 1) * sizeof(char));
      |                ^~~~~~~
src/klibc/string.h:7:32: note: expected ‘void *’ but argument is of type ‘const char *’
    7 | void memcpy(void* _dest, void* _src, size_t n);
      |                          ~~~~~~^~~~
src/lua/lstrlib.c: In function ‘copywithendian’:
src/lua/lstrlib.c:1535:18: warning: passing argument 2 of ‘memcpy’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
1535 |     memcpy(dest, src, size);
      |                  ^~~
src/klibc/string.h:7:32: note: expected ‘void *’ but argument is of type ‘const char *’
    7 | void memcpy(void* _dest, void* _src, size_t n);
      |                          ~~~~~~^~~~
mkdir -p build/lua/ && \
gcc -c -nostdinc -I src/klibc/ -I src/openlibm/include -DLUA_USE_C89 -ffreestanding  src/lua/lstate.c -o build/lua/lstate.o
In file included from src/lua/lapi.h:11,
                 from src/lua/lstate.c:18:
src/lua/lstate.c: In function ‘luai_makeseed’:
src/lua/lstate.c:73:30: warning: implicit declaration of function ‘time’ [-Wimplicit-function-declaration]
   73 |   unsigned int h = cast_uint(time(NULL));
      |                              ^~~~
src/lua/llimits.h:123:30: note: in definition of macro ‘cast’
  123 | #define cast(t, exp)    ((t)(exp))
      |                              ^~~
src/lua/lstate.c:73:20: note: in expansion of macro ‘cast_uint’
   73 |   unsigned int h = cast_uint(time(NULL));
      |                    ^~~~~~~~~
src/lua/lstate.c:61:1: note: ‘time’ is defined in header ‘<time.h>’; did you forget to ‘#include <time.h>’?
   60 | #include <time.h>
  +++ |+#include <time.h>
   61 |
mkdir -p build/lua/ && \
gcc -c -nostdinc -I src/klibc/ -I src/openlibm/include -DLUA_USE_C89 -ffreestanding  src/lua/lctype.c -o build/lua/lctype.o
mkdir -p build/lua/ && \
gcc -c -nostdinc -I src/klibc/ -I src/openlibm/include -DLUA_USE_C89 -ffreestanding  src/lua/linit.c -o build/lua/linit.o
mkdir -p build/lua/ && \
gcc -c -nostdinc -I src/klibc/ -I src/openlibm/include -DLUA_USE_C89 -ffreestanding  src/lua/lua.c -o build/lua/lua.o
src/lua/lua.c: In function ‘laction’:
src/lua/lua.c:55:30: warning: implicit declaration of function ‘signal’; did you mean ‘signal_h’? [-Wimplicit-function-declaration]
   55 | #define setsignal            signal
      |                              ^~~~~~
src/lua/lua.c:78:3: note: in expansion of macro ‘setsignal’
   78 |   setsignal(i, SIG_DFL); /* if another SIGINT happens, terminate process */
      |   ^~~~~~~~~
src/lua/lua.c: In function ‘handle_luainit’:
src/lua/lua.c:350:22: warning: implicit declaration of function ‘getenv’ [-Wimplicit-function-declaration]
  350 |   const char *init = getenv(name + 1);
      |                      ^~~~~~
src/lua/lua.c:22:1: note: ‘getenv’ is defined in header ‘<stdlib.h>’; did you forget to ‘#include <stdlib.h>’?
   21 | #include "lualib.h"
  +++ |+#include <stdlib.h>
   22 |
src/lua/lua.c:350:22: warning: initialization of ‘const char *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
  350 |   const char *init = getenv(name + 1);
      |                      ^~~~~~
src/lua/lua.c:353:10: warning: assignment to ‘const char *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
  353 |     init = getenv(name + 1);  /* try alternative name */
      |          ^
src/lua/lua.c: In function ‘pushline’:
src/lua/lua.c:428:19: warning: implicit declaration of function ‘fputs’ [-Wimplicit-function-declaration]
  428 |         ((void)L, fputs(p, stdout), fflush(stdout),  /* show prompt */ \
      |                   ^~~~~
src/lua/lua.c:484:20: note: in expansion of macro ‘lua_readline’
  484 |   int readstatus = lua_readline(L, b, prmt);
      |                    ^~~~~~~~~~~~
src/lua/lua.c:429:9: warning: implicit declaration of function ‘fgets’; did you mean ‘fgetc’? [-Wimplicit-function-declaration]
  429 |         fgets(b, LUA_MAXINPUT, stdin) != NULL)  /* get line */
      |         ^~~~~
src/lua/lua.c:484:20: note: in expansion of macro ‘lua_readline’
  484 |   int readstatus = lua_readline(L, b, prmt);
      |                    ^~~~~~~~~~~~
src/lua/lua.c:429:39: warning: comparison between pointer and integer
  429 |         fgets(b, LUA_MAXINPUT, stdin) != NULL)  /* get line */
      |                                       ^~
src/lua/lua.c:484:20: note: in expansion of macro ‘lua_readline’
  484 |   int readstatus = lua_readline(L, b, prmt);
      |                    ^~~~~~~~~~~~
mkdir -p build/lua/ && \
gcc -c -nostdinc -I src/klibc/ -I src/openlibm/include -DLUA_USE_C89 -ffreestanding  src/lua/ldump.c -o build/lua/ldump.o
mkdir -p build/lua/ && \
gcc -c -nostdinc -I src/klibc/ -I src/openlibm/include -DLUA_USE_C89 -ffreestanding  src/lua/lutf8lib.c -o build/lua/lutf8lib.o
mkdir -p build/lua/ && \
gcc -c -nostdinc -I src/klibc/ -I src/openlibm/include -DLUA_USE_C89 -ffreestanding  src/lua/lopcodes.c -o build/lua/lopcodes.o
mkdir -p build/lua/ && \
gcc -c -nostdinc -I src/klibc/ -I src/openlibm/include -DLUA_USE_C89 -ffreestanding  src/lua/luac.c -o build/lua/luac.o
src/lua/luac.c: In function ‘pmain’:
src/lua/luac.c:186:38: warning: implicit declaration of function ‘fopen’ [-Wimplicit-function-declaration]
  186 |   FILE* D= (output==NULL) ? stdout : fopen(output,"wb");
      |                                      ^~~~~
src/lua/luac.c:27:1: note: ‘fopen’ is defined in header ‘<stdio.h>’; did you forget to ‘#include <stdio.h>’?
   26 | #include "lundump.h"
  +++ |+#include <stdio.h>
   27 |
src/lua/luac.c:186:36: warning: pointer/integer type mismatch in conditional expression
  186 |   FILE* D= (output==NULL) ? stdout : fopen(output,"wb");
      |                                    ^
src/lua/luac.c:191:7: warning: implicit declaration of function ‘ferror’; did you mean ‘strerror’? [-Wimplicit-function-declaration]
  191 |   if (ferror(D)) cannot("write");
      |       ^~~~~~
      |       strerror
src/lua/luac.c:192:7: warning: implicit declaration of function ‘fclose’; did you mean ‘false’? [-Wimplicit-function-declaration]
  192 |   if (fclose(D)) cannot("close");
      |       ^~~~~~
      |       false
mkdir -p build/lua/ && \
gcc -c -nostdinc -I src/klibc/ -I src/openlibm/include -DLUA_USE_C89 -ffreestanding  src/lua/loadlib.c -o build/lua/loadlib.o
src/lua/loadlib.c: In function ‘setpath’:
src/lua/loadlib.c:302:22: warning: implicit declaration of function ‘getenv’ [-Wimplicit-function-declaration]
  302 |   const char *path = getenv(nver);  /* try versioned name */
      |                      ^~~~~~
src/lua/loadlib.c:25:1: note: ‘getenv’ is defined in header ‘<stdlib.h>’; did you forget to ‘#include <stdlib.h>’?
   24 | #include "lualib.h"
  +++ |+#include <stdlib.h>
   25 |
src/lua/loadlib.c:302:22: warning: initialization of ‘const char *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
  302 |   const char *path = getenv(nver);  /* try versioned name */
      |                      ^~~~~~
src/lua/loadlib.c:304:10: warning: assignment to ‘const char *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
  304 |     path = getenv(envname);  /* try unversioned name */
      |          ^
src/lua/loadlib.c: In function ‘readable’:
src/lua/loadlib.c:435:13: warning: implicit declaration of function ‘fopen’ [-Wimplicit-function-declaration]
  435 |   FILE *f = fopen(filename, "r");  /* try to open file */
      |             ^~~~~
src/lua/loadlib.c:25:1: note: ‘fopen’ is defined in header ‘<stdio.h>’; did you forget to ‘#include <stdio.h>’?
   24 | #include "lualib.h"
  +++ |+#include <stdio.h>
   25 |
src/lua/loadlib.c:435:13: warning: initialization of ‘FILE *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
  435 |   FILE *f = fopen(filename, "r");  /* try to open file */
      |             ^~~~~
src/lua/loadlib.c:437:3: warning: implicit declaration of function ‘fclose’; did you mean ‘false’? [-Wimplicit-function-declaration]
  437 |   fclose(f);
      |   ^~~~~~
      |   false
mkdir -p build/klibc/ && \
gcc -c -nostdinc -I src/klibc/ -I src/openlibm/include -ffreestanding  src/klibc/stdlib.c -o build/klibc/stdlib.o
mkdir -p build/klibc/ && \
gcc -c -nostdinc -I src/klibc/ -I src/openlibm/include -ffreestanding  src/klibc/ctype.c -o build/klibc/ctype.o
mkdir -p build/klibc/ && \
gcc -c -nostdinc -I src/klibc/ -I src/openlibm/include -ffreestanding  src/klibc/stdio.c -o build/klibc/stdio.o
src/klibc/stdio.c: In function ‘printf’:
src/klibc/stdio.c:16:19: warning: passing argument 1 of ‘console_print’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   16 |     console_print(format);
      |                   ^~~~~~
In file included from src/klibc/stdio.c:3:
src/klibc/../console.h:12:26: note: expected ‘char *’ but argument is of type ‘const char *’
   12 | void console_print(char* string);
      |                    ~~~~~~^~~~~~
mkdir -p build/klibc/ && \
gcc -c -nostdinc -I src/klibc/ -I src/openlibm/include -ffreestanding  src/klibc/string.c -o build/klibc/string.o
src/klibc/string.c: In function ‘strchr’:
src/klibc/string.c:27:16: warning: return discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   27 |         return s;
      |                ^
mkdir -p dist/x86_64 && \
ld -melf_x86_64 -n -o dist/x86_64/kiwikernel.bin -T targets/x86_64/linker.ld  build/kernel/main.o  build/kernel/console.o  build/x86_64/io.o  build/x86_64/console.o  build/x86_64/boot/main.o  build/x86_64/boot/header.o  build/x86_64/boot/main64.o  build/lua/lmem.o  build/lua/ldebug.o  build/lua/lapi.o  build/lua/ldo.o  build/lua/lauxlib.o  build/lua/lcorolib.o  build/lua/lgc.o  build/lua/lfunc.o  build/lua/lvm.o  build/lua/lmathlib.o  build/lua/ltm.o  build/lua/ldblib.o  build/lua/ltablib.o  build/lua/liolib.o  build/lua/lcode.o  build/lua/lzio.o  build/lua/ltable.o  build/lua/lparser.o  build/lua/lstring.o  build/lua/llex.o  build/lua/loslib.o  build/lua/lobject.o  build/lua/lundump.o  build/lua/lbaselib.o  build/lua/lstrlib.o  build/lua/lstate.o  build/lua/lctype.o  build/lua/linit.o  build/lua/lua.o  build/lua/ldump.o  build/lua/lutf8lib.o  build/lua/lopcodes.o  build/lua/luac.o  build/lua/loadlib.o  build/klibc/stdlib.o  build/klibc/ctype.o  build/klibc/stdio.o  build/klibc/string.o && \
cp dist/x86_64/kiwikernel.bin targets/x86_64/iso/boot/kiwikernel.bin && \
grub-mkrescue /usr/lib/grub/i386-pc -o dist/x86_64/kiwikernel.iso targets/x86_64/iso
ld : build/lua/luac.o : dans la fonction « main » :
luac.c:(.text+0x895) : définitions multiples de « main »; build/lua/lua.o:lua.c:(.text+0x1464) : défini pour la première fois ici
ld: attention: build/x86_64/boot/main64.o: l'absence de la section .note.GNU-stack implique une pile exécutable
ld: NOTE: Ce comportement est déprécié et sera supprimé dans une version ultérieure de l'éditeur de liens
ld: attention: dist/x86_64/kiwikernel.bin a un segment LOAD avec les permissions RWX
ld : build/lua/ldo.o : dans la fonction « luaD_throw » :
ldo.c:(.text+0x150) : référence indéfinie vers « longjmp »
ld : build/lua/ldo.o : dans la fonction « luaD_rawrunprotected » :
ldo.c:(.text+0x26a) : référence indéfinie vers « setjmp »
ld : build/lua/lauxlib.o : dans la fonction « luaL_fileresult » :
lauxlib.c:(.text+0xab9) : référence indéfinie vers « errno »
ld : build/lua/lauxlib.o : dans la fonction « luaL_execresult » :
lauxlib.c:(.text+0xb6b) : référence indéfinie vers « errno »
ld : build/lua/lauxlib.o : dans la fonction « getF » :
lauxlib.c:(.text+0x1a24) : référence indéfinie vers « feof »
ld : lauxlib.c:(.text+0x1a56) : référence indéfinie vers « fread »
ld : build/lua/lauxlib.o : dans la fonction « errfile » :
lauxlib.c:(.text+0x1a83) : référence indéfinie vers « errno »
ld : build/lua/lauxlib.o : dans la fonction « luaL_loadfilex » :
lauxlib.c:(.text+0x1cbb) : référence indéfinie vers « fopen »
ld : lauxlib.c:(.text+0x1d68) : référence indéfinie vers « freopen »
ld : lauxlib.c:(.text+0x1e3c) : référence indéfinie vers « ferror »
ld : lauxlib.c:(.text+0x1e5d) : référence indéfinie vers « fclose »
ld : build/lua/lauxlib.o : dans la fonction « l_alloc » :
lauxlib.c:(.text+0x27c4) : référence indéfinie vers « free »
ld : lauxlib.c:(.text+0x27e3) : référence indéfinie vers « realloc »
ld : build/lua/lvm.o : dans la fonction « luaV_flttointeger » :
lvm.c:(.text+0x126) : référence indéfinie vers « floor »
ld : build/lua/lvm.o : dans la fonction « l_strcmp » :
lvm.c:(.text+0xcf1) : référence indéfinie vers « strcoll »
ld : build/lua/lvm.o : dans la fonction « luaV_modf » :
lvm.c:(.text+0x1ea5) : référence indéfinie vers « fmod »
ld : build/lua/lvm.o : dans la fonction « luaV_execute » :
lvm.c:(.text+0x50ce) : référence indéfinie vers « pow »
ld : lvm.c:(.text+0x54fb) : référence indéfinie vers « floor »
ld : lvm.c:(.text+0x671a) : référence indéfinie vers « pow »
ld : lvm.c:(.text+0x6b41) : référence indéfinie vers « floor »
ld : build/lua/lmathlib.o : dans la fonction « math_abs » :
lmathlib.c:(.text+0x7e) : référence indéfinie vers « fabs »
ld : build/lua/lmathlib.o : dans la fonction « math_sin » :
lmathlib.c:(.text+0xc7) : référence indéfinie vers « sin »
ld : build/lua/lmathlib.o : dans la fonction « math_cos » :
lmathlib.c:(.text+0x110) : référence indéfinie vers « cos »
ld : build/lua/lmathlib.o : dans la fonction « math_tan » :
lmathlib.c:(.text+0x159) : référence indéfinie vers « tan »
ld : build/lua/lmathlib.o : dans la fonction « math_asin » :
lmathlib.c:(.text+0x1a2) : référence indéfinie vers « asin »
ld : build/lua/lmathlib.o : dans la fonction « math_acos » :
lmathlib.c:(.text+0x1eb) : référence indéfinie vers « acos »
ld : build/lua/lmathlib.o : dans la fonction « math_atan » :
lmathlib.c:(.text+0x26b) : référence indéfinie vers « atan2 »
ld : build/lua/lmathlib.o : dans la fonction « math_floor » :
lmathlib.c:(.text+0x3b5) : référence indéfinie vers « floor »
ld : build/lua/lmathlib.o : dans la fonction « math_ceil » :
lmathlib.c:(.text+0x42e) : référence indéfinie vers « ceil »
ld : build/lua/lmathlib.o : dans la fonction « math_fmod » :
lmathlib.c:(.text+0x55f) : référence indéfinie vers « fmod »
ld : build/lua/lmathlib.o : dans la fonction « math_modf » :
lmathlib.c:(.text+0x602) : référence indéfinie vers « ceil »
ld : lmathlib.c:(.text+0x617) : référence indéfinie vers « floor »
ld : build/lua/lmathlib.o : dans la fonction « math_sqrt » :
lmathlib.c:(.text+0x6a9) : référence indéfinie vers « sqrt »
ld : build/lua/lmathlib.o : dans la fonction « math_log » :
lmathlib.c:(.text+0x76c) : référence indéfinie vers « log »
ld : lmathlib.c:(.text+0x7c0) : référence indéfinie vers « log10 »
ld : lmathlib.c:(.text+0x7d9) : référence indéfinie vers « log »
ld : lmathlib.c:(.text+0x7ec) : référence indéfinie vers « log »
ld : build/lua/lmathlib.o : dans la fonction « math_exp » :
lmathlib.c:(.text+0x84a) : référence indéfinie vers « exp »
ld : build/lua/lmathlib.o : dans la fonction « randseed » :
lmathlib.c:(.text+0x11b0) : référence indéfinie vers « time »
ld : build/lua/ldblib.o : dans la fonction « db_debug » :
ldblib.c:(.text+0x138f) : référence indéfinie vers « fgets »
ld : build/lua/ltablib.o : dans la fonction « l_randomizePivot » :
ltablib.c:(.text+0x969) : référence indéfinie vers « clock »
ld : ltablib.c:(.text+0x97e) : référence indéfinie vers « time »
ld : build/lua/liolib.o : dans la fonction « io_fclose » :
liolib.c:(.text+0x38b) : référence indéfinie vers « fclose »
ld : build/lua/liolib.o : dans la fonction « opencheck » :
liolib.c:(.text+0x425) : référence indéfinie vers « fopen »
ld : liolib.c:(.text+0x44c) : référence indéfinie vers « errno »
ld : build/lua/liolib.o : dans la fonction « io_open » :
liolib.c:(.text+0x51f) : référence indéfinie vers « fopen »
ld : build/lua/liolib.o : dans la fonction « io_pclose » :
liolib.c:(.text+0x583) : référence indéfinie vers « errno »
ld : build/lua/liolib.o : dans la fonction « io_tmpfile » :
liolib.c:(.text+0x6ce) : référence indéfinie vers « tmpfile »
ld : build/lua/liolib.o : dans la fonction « read_number » :
liolib.c:(.text+0xc24) : référence indéfinie vers « localeconv »
ld : liolib.c:(.text+0xd86) : référence indéfinie vers « ungetc »
ld : build/lua/liolib.o : dans la fonction « test_eof » :
liolib.c:(.text+0xe13) : référence indéfinie vers « ungetc »
ld : build/lua/liolib.o : dans la fonction « read_all » :
liolib.c:(.text+0xff8) : référence indéfinie vers « fread »
ld : build/lua/liolib.o : dans la fonction « read_chars » :
liolib.c:(.text+0x10a9) : référence indéfinie vers « fread »
ld : build/lua/liolib.o : dans la fonction « g_read » :
liolib.c:(.text+0x1116) : référence indéfinie vers « clearerr »
ld : liolib.c:(.text+0x12e4) : référence indéfinie vers « ferror »
ld : build/lua/liolib.o : dans la fonction « f_seek » :
liolib.c:(.text+0x17e8) : référence indéfinie vers « fseek »
ld : liolib.c:(.text+0x1823) : référence indéfinie vers « ftell »
ld : build/lua/liolib.o : dans la fonction « f_setvbuf » :
liolib.c:(.text+0x18c6) : référence indéfinie vers « setvbuf »
ld : build/lua/lcode.o : dans la fonction « savelineinfo » :
lcode.c:(.text+0x82e) : référence indéfinie vers « abs »
ld : build/lua/ltable.o : dans la fonction « l_hashfloat » :
ltable.c:(.text+0x1e) : référence indéfinie vers « frexp »
ld : build/lua/loslib.o : dans la fonction « os_execute » :
loslib.c:(.text+0x2d) : référence indéfinie vers « errno »
ld : loslib.c:(.text+0x42) : référence indéfinie vers « system »
ld : build/lua/loslib.o : dans la fonction « os_remove » :
loslib.c:(.text+0xae) : référence indéfinie vers « remove »
ld : build/lua/loslib.o : dans la fonction « os_rename » :
loslib.c:(.text+0x122) : référence indéfinie vers « rename »
ld : build/lua/loslib.o : dans la fonction « os_tmpname » :
loslib.c:(.text+0x15c) : référence indéfinie vers « tmpnam »
ld : build/lua/loslib.o : dans la fonction « os_getenv » :
loslib.c:(.text+0x1dc) : référence indéfinie vers « getenv »
ld : build/lua/loslib.o : dans la fonction « os_clock » :
loslib.c:(.text+0x20d) : référence indéfinie vers « clock »
ld : build/lua/loslib.o : dans la fonction « os_date » :
loslib.c:(.text+0x6f5) : référence indéfinie vers « time »
ld : loslib.c:(.text+0x73c) : référence indéfinie vers « gmtime »
ld : loslib.c:(.text+0x75a) : référence indéfinie vers « localtime »
ld : loslib.c:(.text+0x8c0) : référence indéfinie vers « strftime »
ld : build/lua/loslib.o : dans la fonction « os_time » :
loslib.c:(.text+0x92f) : référence indéfinie vers « time »
ld : loslib.c:(.text+0xa4b) : référence indéfinie vers « mktime »
ld : build/lua/loslib.o : dans la fonction « os_difftime » :
loslib.c:(.text+0xaf0) : référence indéfinie vers « difftime »
ld : build/lua/loslib.o : dans la fonction « os_setlocale » :
loslib.c:(.text+0xb8f) : référence indéfinie vers « setlocale »
ld : build/lua/lobject.o : dans la fonction « numarith » :
lobject.c:(.text+0x234) : référence indéfinie vers « pow »
ld : lobject.c:(.text+0x254) : référence indéfinie vers « floor »
ld : build/lua/lobject.o : dans la fonction « lua_strx2number » :
lobject.c:(.text+0x6ab) : référence indéfinie vers « localeconv »
ld : lobject.c:(.text+0x959) : référence indéfinie vers « ldexp »
ld : build/lua/lobject.o : dans la fonction « l_str2dloc » :
lobject.c:(.text+0x9b0) : référence indéfinie vers « strtod »
ld : build/lua/lobject.o : dans la fonction « l_str2d » :
lobject.c:(.text+0xb0f) : référence indéfinie vers « localeconv »
ld : build/lua/lobject.o : dans la fonction « tostringbuff » :
lobject.c:(.text+0xf51) : référence indéfinie vers « localeconv »
ld : build/lua/lstrlib.o : dans la fonction « adddigit » :
lstrlib.c:(.text+0x280b) : référence indéfinie vers « floor »
ld : build/lua/lstrlib.o : dans la fonction « num2straux » :
lstrlib.c:(.text+0x2936) : référence indéfinie vers « frexp »
ld : lstrlib.c:(.text+0x29fe) : référence indéfinie vers « localeconv »
ld : build/lua/lstrlib.o : dans la fonction « quotefloat » :
lstrlib.c:(.text+0x2ea7) : référence indéfinie vers « localeconv »
ld : build/lua/lstate.o : dans la fonction « luai_makeseed » :
lstate.c:(.text+0x17) : référence indéfinie vers « time »
ld : build/lua/lua.o : dans la fonction « laction » :
lua.c:(.text+0x6b) : référence indéfinie vers « signal »
ld : build/lua/lua.o : dans la fonction « docall » :
lua.c:(.text+0x39e) : référence indéfinie vers « signal »
ld : lua.c:(.text+0x3d6) : référence indéfinie vers « signal »
ld : build/lua/lua.o : dans la fonction « handle_luainit » :
lua.c:(.text+0xbb1) : référence indéfinie vers « getenv »
ld : lua.c:(.text+0xbde) : référence indéfinie vers « getenv »
ld : build/lua/lua.o : dans la fonction « pushline » :
lua.c:(.text+0xd9b) : référence indéfinie vers « fputs »
ld : lua.c:(.text+0xdc7) : référence indéfinie vers « fgets »
ld : build/lua/luac.o : dans la fonction « cannot » :
luac.c:(.text+0x4d) : référence indéfinie vers « errno »
ld : build/lua/luac.o : dans la fonction « pmain » :
luac.c:(.text+0x7f6) : référence indéfinie vers « fopen »
ld : luac.c:(.text+0x853) : référence indéfinie vers « ferror »
ld : luac.c:(.text+0x877) : référence indéfinie vers « fclose »
ld : build/lua/loadlib.o : dans la fonction « setpath » :
loadlib.c:(.text+0x11b) : référence indéfinie vers « getenv »
ld : loadlib.c:(.text+0x13c) : référence indéfinie vers « getenv »
ld : build/lua/loadlib.o : dans la fonction « readable » :
loadlib.c:(.text+0x690) : référence indéfinie vers « fopen »
ld : loadlib.c:(.text+0x6b5) : référence indéfinie vers « fclose »
make: *** [Makefile:47 : build-x86_64] Erreur 1

Lephenixnoir En ligne Administrateur Points: 24053 Défis: 169 Message

Citer : Posté le 23/02/2023 14:58 | #


Oui côté libc y'a pas mal de travail à faire avant de pouvoir compiler des programmes non triviaux comme Lua.
Mon graphe (16 Jan): (PythonExtra ; fxsdk#11 ; gint#27 ; (Rogue Life || HH2) ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Inikiwi En ligne Membre Points: 521 Défis: 8 Message

Citer : Posté le 23/02/2023 15:02 | #


je vais amputer lua de plusieurs fonctionnalités non utiles.
dalleurs j'ai une question: quand je fais
klibc_source_files := $(shell find src/klibc -name *.c)
klibc_object_files := $(patsubst src/klibc/%.c, build/klibc/%.o, $(klibc_source_files))

c'est quoi qui est enregistré: le résultat de la commande ou la commande (donc on peut encore ajouter des fichiers pour ld après);
Lephenixnoir En ligne Administrateur Points: 24053 Défis: 169 Message

Citer : Posté le 23/02/2023 15:54 | #


Comme c'est := la commande est exécutée immédiatement et le résultat est stocké.

Si tu mets klibc_object_files = (au lieu de :=) la "formule" de la variable est stockée et elle sera recalculée à chaque utilisation. Et alors, tu es libre de rajouter des fichiers source avec klibc_source_files += et ça se répercutera automatiquement sur klibc_object_files.
Mon graphe (16 Jan): (PythonExtra ; fxsdk#11 ; gint#27 ; (Rogue Life || HH2) ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Inikiwi En ligne Membre Points: 521 Défis: 8 Message

Citer : Posté le 23/02/2023 16:16 | #


ok merci. mais entre temps j'ai encore un autre problème apparemment un tas de fonctions mathématiques ne sont pas présentes sans openlibm alors que elles sont utilisés...
ld -melf_x86_64 -n -o dist/x86_64/kiwikernel.bin -T targets/x86_64/linker.ld  build/kernel/main.o  build/kernel/console.o  build/x86_64/io.o  build/x86_64/console.o  build/x86_64/boot/main.o  build/x86_64/boot/header.o  build/x86_64/boot/main64.o  build/lua/lmem.o  build/lua/ldebug.o  build/lua/lapi.o  build/lua/ldo.o  build/lua/lauxlib.o  build/lua/lcorolib.o  build/lua/lgc.o  build/lua/lfunc.o  build/lua/lvm.o  build/lua/lmathlib.o  build/lua/ltm.o  build/lua/ldblib.o  build/lua/ltablib.o  build/lua/liolib.o  build/lua/lcode.o  build/lua/lzio.o  build/lua/ltable.o  build/lua/lparser.o  build/lua/lstring.o  build/lua/llex.o  build/lua/loslib.o  build/lua/lobject.o  build/lua/lundump.o  build/lua/lbaselib.o  build/lua/lstrlib.o  build/lua/lstate.o  build/lua/lctype.o  build/lua/linit.o  build/lua/lua.o  build/lua/ldump.o  build/lua/lutf8lib.o  build/lua/lopcodes.o  build/lua/luac.o  build/lua/loadlib.o  build/klibc/stdlib.o  build/klibc/ctype.o  build/klibc/stdio.o  build/klibc/string.o src/openlibm/amd64/s_remquo.S.o src/openlibm/amd64/e_remainderl.S.o src/openlibm/amd64/s_logbl.S.o src/openlibm/amd64/s_llrintf.S.o src/openlibm/amd64/s_lrintl.S.o src/openlibm/amd64/e_sqrt.S.o src/openlibm/amd64/s_llrintl.S.o src/openlibm/amd64/e_remainder.S.o src/openlibm/amd64/s_scalbn.S.o src/openlibm/amd64/s_remquol.S.o src/openlibm/amd64/e_sqrtf.S.o src/openlibm/amd64/s_lrint.S.o src/openlibm/amd64/s_rintl.S.o src/openlibm/amd64/s_scalbnf.S.o src/openlibm/amd64/s_llrint.S.o src/openlibm/amd64/e_remainderf.S.o src/openlibm/amd64/fenv.c.o src/openlibm/amd64/s_scalbnl.S.o src/openlibm/amd64/e_sqrtl.S.o src/openlibm/amd64/s_remquof.S.o src/openlibm/amd64/s_lrintf.S.o src/openlibm/src/s_catanl.c.o src/openlibm/src/s_expm1f.c.o src/openlibm/src/s_cexpl.c.o src/openlibm/src/e_jnf.c.o src/openlibm/src/s_tgammaf.c.o src/openlibm/src/e_acos.c.o src/openlibm/src/s_ccosh.c.o src/openlibm/src/s_llroundl.c.o src/openlibm/src/s_fmaf.c.o src/openlibm/src/s_tan.c.o src/openlibm/src/s_catanf.c.o src/openlibm/src/s_fdim.c.o src/openlibm/src/e_cosh.c.o src/openlibm/src/s_ccoshl.c.o src/openlibm/src/s_fabsl.c.o src/openlibm/src/e_j1f.c.o src/openlibm/src/s_cos.c.o src/openlibm/src/s_clog.c.o src/openlibm/src/s_fmin.c.o src/openlibm/src/s_cimagl.c.o src/openlibm/src/s_fminf.c.o src/openlibm/src/e_log10.c.o src/openlibm/src/e_atan2f.c.o src/openlibm/src/e_logf.c.o src/openlibm/src/s_fminl.c.o src/openlibm/src/w_cabs.c.o src/openlibm/src/s_cprojf.c.o src/openlibm/src/s_fma.c.o src/openlibm/src/s_truncf.c.o src/openlibm/src/s_creal.c.o src/openlibm/src/k_cos.c.o src/openlibm/src/s_nearbyint.c.o src/openlibm/src/s_cpowf.c.o src/openlibm/src/s_erff.c.o src/openlibm/src/s_ccoshf.c.o src/openlibm/src/s_csinhl.c.o src/openlibm/src/s_cbrtl.c.o src/openlibm/src/e_atan2.c.o src/openlibm/src/s_ceilf.c.o src/openlibm/src/e_lgammaf_r.c.o src/openlibm/src/s_csqrtl.c.o src/openlibm/src/k_sin.c.o src/openlibm/src/s_cexp.c.o src/openlibm/src/e_lgamma.c.o src/openlibm/src/s_nextafterf.c.o src/openlibm/src/s_nextafter.c.o src/openlibm/src/s_sinl.c.o src/openlibm/src/k_rem_pio2.c.o src/openlibm/src/s_catan.c.o src/openlibm/src/s_sincosf.c.o src/openlibm/src/s_cosl.c.o src/openlibm/src/e_rem_pio2f.c.o src/openlibm/src/s_isfinite.c.o src/openlibm/src/w_cabsf.c.o src/openlibm/src/s_floorl.c.o src/openlibm/src/s_floor.c.o src/openlibm/src/s_clogl.c.o src/openlibm/src/s_roundf.c.o src/openlibm/src/e_hypotl.c.o src/openlibm/src/s_cargf.c.o src/openlibm/src/s_cpow.c.o src/openlibm/src/s_csinh.c.o src/openlibm/src/s_casin.c.o src/openlibm/src/s_ilogbf.c.o src/openlibm/src/s_cproj.c.o src/openlibm/src/s_frexp.c.o src/openlibm/src/e_log10f.c.o src/openlibm/src/e_acoshf.c.o src/openlibm/src/s_cexpf.c.o src/openlibm/src/polevll.c.o src/openlibm/src/e_j1.c.o src/openlibm/src/s_isnan.c.o src/openlibm/src/e_atan2l.c.o src/openlibm/src/s_cacosf.c.o src/openlibm/src/e_asinl.c.o src/openlibm/src/e_sinhf.c.o src/openlibm/src/s_truncl.c.o src/openlibm/src/s_ilogb.c.o src/openlibm/src/s_ilogbl.c.o src/openlibm/src/s_csqrtf.c.o src/openlibm/src/e_lgammaf.c.o src/openlibm/src/s_erf.c.o src/openlibm/src/s_signgam.c.o src/openlibm/src/s_cacos.c.o src/openlibm/src/e_powf.c.o src/openlibm/src/s_modff.c.o src/openlibm/src/s_fmaxl.c.o src/openlibm/src/s_ctanh.c.o src/openlibm/src/s_cbrtf.c.o src/openlibm/src/s_modf.c.o src/openlibm/src/s_atanf.c.o src/openlibm/src/e_coshf.c.o src/openlibm/src/s_lround.c.o src/openlibm/src/s_exp2.c.o src/openlibm/src/s_cprojl.c.o src/openlibm/src/s_cpowl.c.o src/openlibm/src/e_log.c.o src/openlibm/src/e_asin.c.o src/openlibm/src/s_casinf.c.o src/openlibm/src/s_asinh.c.o src/openlibm/src/s_catanhl.c.o src/openlibm/src/s_cacoshl.c.o src/openlibm/src/s_scalbln.c.o src/openlibm/src/s_tanf.c.o src/openlibm/src/s_creall.c.o src/openlibm/src/s_cacoshf.c.o src/openlibm/src/e_log2.c.o src/openlibm/src/k_cosf.c.o src/openlibm/src/s_casinl.c.o src/openlibm/src/e_asinf.c.o src/openlibm/src/s_isnormal.c.o src/openlibm/src/s_asinhf.c.o src/openlibm/src/s_fabsf.c.o src/openlibm/src/s_nan.c.o src/openlibm/src/s_ceill.c.o src/openlibm/src/s_isinf.c.o src/openlibm/src/s_copysignl.c.o src/openlibm/src/s_tanh.c.o src/openlibm/src/s_nextafterl.c.o src/openlibm/src/s_conjf.c.o src/openlibm/src/e_hypot.c.o src/openlibm/src/s_copysignf.c.o src/openlibm/src/s_rint.c.o src/openlibm/src/e_expf.c.o src/openlibm/src/s_modfl.c.o src/openlibm/src/e_acosh.c.o src/openlibm/src/s_fabs.c.o src/openlibm/src/e_pow.c.o src/openlibm/src/s_clogf.c.o src/openlibm/src/s_fmal.c.o src/openlibm/src/s_fpclassify.c.o src/openlibm/src/s_fmax.c.o src/openlibm/src/e_fmod.c.o src/openlibm/src/s_conj.c.o src/openlibm/src/s_exp2f.c.o src/openlibm/src/e_j0f.c.o src/openlibm/src/s_crealf.c.o src/openlibm/src/s_cacosh.c.o src/openlibm/src/s_log1pf.c.o src/openlibm/src/s_roundl.c.o src/openlibm/src/s_signbit.c.o src/openlibm/src/s_catanh.c.o src/openlibm/src/w_cabsl.c.o src/openlibm/src/e_atanhf.c.o src/openlibm/src/s_copysign.c.o src/openlibm/src/s_logb.c.o src/openlibm/src/e_hypotf.c.o src/openlibm/src/k_sinf.c.o src/openlibm/src/s_cacosl.c.o src/openlibm/src/k_exp.c.o src/openlibm/src/s_log1p.c.o src/openlibm/src/s_atan.c.o src/openlibm/src/s_round.c.o src/openlibm/src/k_expf.c.o src/openlibm/src/s_sincos.c.o src/openlibm/src/s_ctanhf.c.o src/openlibm/src/s_nexttowardf.c.o src/openlibm/src/s_carg.c.o src/openlibm/src/s_csinl.c.o src/openlibm/src/s_cargl.c.o src/openlibm/src/s_cbrt.c.o src/openlibm/src/e_acosl.c.o src/openlibm/src/e_jn.c.o src/openlibm/src/e_fmodl.c.o src/openlibm/src/e_log2f.c.o src/openlibm/src/s_atanl.c.o src/openlibm/src/s_lroundl.c.o src/openlibm/src/s_casinhf.c.o src/openlibm/src/e_exp.c.o src/openlibm/src/s_cosf.c.o src/openlibm/src/s_frexpl.c.o src/openlibm/src/s_casinh.c.o src/openlibm/src/s_logbf.c.o src/openlibm/src/s_ctanl.c.o src/openlibm/src/k_tan.c.o src/openlibm/src/s_tanl.c.o src/openlibm/src/s_frexpf.c.o src/openlibm/src/s_conjl.c.o src/openlibm/src/e_j0.c.o src/openlibm/src/e_lgamma_r.c.o src/openlibm/src/s_casinhl.c.o src/openlibm/src/e_sinh.c.o src/openlibm/src/e_acosf.c.o src/openlibm/src/s_ceil.c.o src/openlibm/src/s_nexttoward.c.o src/openlibm/src/s_expm1.c.o src/openlibm/src/s_rintf.c.o src/openlibm/src/s_catanhf.c.o src/openlibm/src/e_atanh.c.o src/openlibm/src/k_tanf.c.o src/openlibm/src/e_rem_pio2.c.o src/openlibm/src/s_llround.c.o src/openlibm/src/s_cimag.c.o src/openlibm/src/s_sin.c.o src/openlibm/src/common.c.o src/openlibm/src/s_ccosl.c.o src/openlibm/src/e_lgammal.c.o src/openlibm/src/s_sinf.c.o src/openlibm/src/s_csqrt.c.o src/openlibm/src/s_floorf.c.o src/openlibm/src/s_fmaxf.c.o src/openlibm/src/s_cimagf.c.o src/openlibm/src/s_llroundf.c.o src/openlibm/src/s_lroundf.c.o src/openlibm/src/s_csinhf.c.o src/openlibm/src/s_trunc.c.o src/openlibm/src/e_fmodf.c.o src/openlibm/src/s_tanhf.c.o src/openlibm/src/s_sincosl.c.o src/openlibm/src/s_ctanhl.c.o && \
ld : build/lua/luac.o : dans la fonction « main » :
luac.c:(.text+0x895) : définitions multiples de « main »; build/lua/lua.o:lua.c:(.text+0x1464) : défini pour la première fois ici
ld: attention: build/x86_64/boot/main64.o: l'absence de la section .note.GNU-stack implique une pile exécutable
ld: NOTE: Ce comportement est déprécié et sera supprimé dans une version ultérieure de l'éditeur de liens
ld: attention: dist/x86_64/kiwikernel.bin a un segment LOAD avec les permissions RWX
ld : build/lua/ldo.o : dans la fonction « luaD_throw » :
ldo.c:(.text+0x150) : référence indéfinie vers « longjmp »
ld : build/lua/ldo.o : dans la fonction « luaD_rawrunprotected » :
ldo.c:(.text+0x26a) : référence indéfinie vers « setjmp »
ld : build/lua/lauxlib.o : dans la fonction « luaL_fileresult » :
lauxlib.c:(.text+0xab9) : référence indéfinie vers « errno »
ld : build/lua/lauxlib.o : dans la fonction « luaL_execresult » :
lauxlib.c:(.text+0xb6b) : référence indéfinie vers « errno »
ld : build/lua/lauxlib.o : dans la fonction « getF » :
lauxlib.c:(.text+0x1a24) : référence indéfinie vers « feof »
ld : lauxlib.c:(.text+0x1a56) : référence indéfinie vers « fread »
ld : build/lua/lauxlib.o : dans la fonction « errfile » :
lauxlib.c:(.text+0x1a83) : référence indéfinie vers « errno »
ld : build/lua/lauxlib.o : dans la fonction « luaL_loadfilex » :
lauxlib.c:(.text+0x1cbb) : référence indéfinie vers « fopen »
ld : lauxlib.c:(.text+0x1d68) : référence indéfinie vers « freopen »
ld : lauxlib.c:(.text+0x1e3c) : référence indéfinie vers « ferror »
ld : lauxlib.c:(.text+0x1e5d) : référence indéfinie vers « fclose »
ld : build/lua/lauxlib.o : dans la fonction « l_alloc » :
lauxlib.c:(.text+0x27c4) : référence indéfinie vers « free »
ld : lauxlib.c:(.text+0x27e3) : référence indéfinie vers « realloc »
ld : build/lua/lvm.o : dans la fonction « l_strcmp » :
lvm.c:(.text+0xcf1) : référence indéfinie vers « strcoll »
ld : build/lua/lmathlib.o : dans la fonction « randseed » :
lmathlib.c:(.text+0x11b0) : référence indéfinie vers « time »
ld : build/lua/ldblib.o : dans la fonction « db_debug » :
ldblib.c:(.text+0x138f) : référence indéfinie vers « fgets »
ld : build/lua/ltablib.o : dans la fonction « l_randomizePivot » :
ltablib.c:(.text+0x969) : référence indéfinie vers « clock »
ld : ltablib.c:(.text+0x97e) : référence indéfinie vers « time »
ld : build/lua/liolib.o : dans la fonction « io_fclose » :
liolib.c:(.text+0x38b) : référence indéfinie vers « fclose »
ld : build/lua/liolib.o : dans la fonction « opencheck » :
liolib.c:(.text+0x425) : référence indéfinie vers « fopen »
ld : liolib.c:(.text+0x44c) : référence indéfinie vers « errno »
ld : build/lua/liolib.o : dans la fonction « io_open » :
liolib.c:(.text+0x51f) : référence indéfinie vers « fopen »
ld : build/lua/liolib.o : dans la fonction « io_pclose » :
liolib.c:(.text+0x583) : référence indéfinie vers « errno »
ld : build/lua/liolib.o : dans la fonction « io_tmpfile » :
liolib.c:(.text+0x6ce) : référence indéfinie vers « tmpfile »
ld : build/lua/liolib.o : dans la fonction « read_number » :
liolib.c:(.text+0xc24) : référence indéfinie vers « localeconv »
ld : liolib.c:(.text+0xd86) : référence indéfinie vers « ungetc »
ld : build/lua/liolib.o : dans la fonction « test_eof » :
liolib.c:(.text+0xe13) : référence indéfinie vers « ungetc »
ld : build/lua/liolib.o : dans la fonction « read_all » :
liolib.c:(.text+0xff8) : référence indéfinie vers « fread »
ld : build/lua/liolib.o : dans la fonction « read_chars » :
liolib.c:(.text+0x10a9) : référence indéfinie vers « fread »
ld : build/lua/liolib.o : dans la fonction « g_read » :
liolib.c:(.text+0x1116) : référence indéfinie vers « clearerr »
ld : liolib.c:(.text+0x12e4) : référence indéfinie vers « ferror »
ld : build/lua/liolib.o : dans la fonction « f_seek » :
liolib.c:(.text+0x17e8) : référence indéfinie vers « fseek »
ld : liolib.c:(.text+0x1823) : référence indéfinie vers « ftell »
ld : build/lua/liolib.o : dans la fonction « f_setvbuf » :
liolib.c:(.text+0x18c6) : référence indéfinie vers « setvbuf »
ld : build/lua/lcode.o : dans la fonction « savelineinfo » :
lcode.c:(.text+0x82e) : référence indéfinie vers « abs »
ld : build/lua/loslib.o : dans la fonction « os_execute » :
loslib.c:(.text+0x2d) : référence indéfinie vers « errno »
ld : loslib.c:(.text+0x42) : référence indéfinie vers « system »
ld : build/lua/loslib.o : dans la fonction « os_remove » :
loslib.c:(.text+0xae) : référence indéfinie vers « remove »
ld : build/lua/loslib.o : dans la fonction « os_rename » :
loslib.c:(.text+0x122) : référence indéfinie vers « rename »
ld : build/lua/loslib.o : dans la fonction « os_tmpname » :
loslib.c:(.text+0x15c) : référence indéfinie vers « tmpnam »
ld : build/lua/loslib.o : dans la fonction « os_getenv » :
loslib.c:(.text+0x1dc) : référence indéfinie vers « getenv »
ld : build/lua/loslib.o : dans la fonction « os_clock » :
loslib.c:(.text+0x20d) : référence indéfinie vers « clock »
ld : build/lua/loslib.o : dans la fonction « os_date » :
loslib.c:(.text+0x6f5) : référence indéfinie vers « time »
ld : loslib.c:(.text+0x73c) : référence indéfinie vers « gmtime »
ld : loslib.c:(.text+0x75a) : référence indéfinie vers « localtime »
ld : loslib.c:(.text+0x8c0) : référence indéfinie vers « strftime »
ld : build/lua/loslib.o : dans la fonction « os_time » :
loslib.c:(.text+0x92f) : référence indéfinie vers « time »
ld : loslib.c:(.text+0xa4b) : référence indéfinie vers « mktime »
ld : build/lua/loslib.o : dans la fonction « os_difftime » :
loslib.c:(.text+0xaf0) : référence indéfinie vers « difftime »
ld : build/lua/loslib.o : dans la fonction « os_setlocale » :
loslib.c:(.text+0xb8f) : référence indéfinie vers « setlocale »
ld : build/lua/lobject.o : dans la fonction « lua_strx2number » :
lobject.c:(.text+0x6ab) : référence indéfinie vers « localeconv »
ld : build/lua/lobject.o : dans la fonction « l_str2dloc » :
lobject.c:(.text+0x9b0) : référence indéfinie vers « strtod »
ld : build/lua/lobject.o : dans la fonction « l_str2d » :
lobject.c:(.text+0xb0f) : référence indéfinie vers « localeconv »
ld : build/lua/lobject.o : dans la fonction « tostringbuff » :
lobject.c:(.text+0xf51) : référence indéfinie vers « localeconv »
ld : build/lua/lstrlib.o : dans la fonction « num2straux » :
lstrlib.c:(.text+0x29fe) : référence indéfinie vers « localeconv »
ld : build/lua/lstrlib.o : dans la fonction « quotefloat » :
lstrlib.c:(.text+0x2ea7) : référence indéfinie vers « localeconv »
ld : build/lua/lstate.o : dans la fonction « luai_makeseed » :
lstate.c:(.text+0x17) : référence indéfinie vers « time »
ld : build/lua/lua.o : dans la fonction « laction » :
lua.c:(.text+0x6b) : référence indéfinie vers « signal »
ld : build/lua/lua.o : dans la fonction « docall » :
lua.c:(.text+0x39e) : référence indéfinie vers « signal »
ld : lua.c:(.text+0x3d6) : référence indéfinie vers « signal »
ld : build/lua/lua.o : dans la fonction « handle_luainit » :
lua.c:(.text+0xbb1) : référence indéfinie vers « getenv »
ld : lua.c:(.text+0xbde) : référence indéfinie vers « getenv »
ld : build/lua/lua.o : dans la fonction « pushline » :
lua.c:(.text+0xd9b) : référence indéfinie vers « fputs »
ld : lua.c:(.text+0xdc7) : référence indéfinie vers « fgets »
ld : build/lua/luac.o : dans la fonction « cannot » :
luac.c:(.text+0x4d) : référence indéfinie vers « errno »
ld : build/lua/luac.o : dans la fonction « pmain » :
luac.c:(.text+0x7f6) : référence indéfinie vers « fopen »
ld : luac.c:(.text+0x853) : référence indéfinie vers « ferror »
ld : luac.c:(.text+0x877) : référence indéfinie vers « fclose »
ld : build/lua/loadlib.o : dans la fonction « setpath » :
loadlib.c:(.text+0x11b) : référence indéfinie vers « getenv »
ld : loadlib.c:(.text+0x13c) : référence indéfinie vers « getenv »
ld : build/lua/loadlib.o : dans la fonction « readable » :
loadlib.c:(.text+0x690) : référence indéfinie vers « fopen »
ld : loadlib.c:(.text+0x6b5) : référence indéfinie vers « fclose »
ld : src/openlibm/src/e_j1.c.o : dans la fonction « pone » :
e_j1.c:(.text+0x278) : référence indéfinie vers « __assert_fail »
ld : src/openlibm/src/e_j1.c.o : dans la fonction « qone » :
e_j1.c:(.text+0x528) : référence indéfinie vers « __assert_fail »
ld : src/openlibm/src/e_j0.c.o : dans la fonction « pzero » :
e_j0.c:(.text+0x278) : référence indéfinie vers « __assert_fail »
ld : src/openlibm/src/e_j0.c.o : dans la fonction « qzero » :
e_j0.c:(.text+0x528) : référence indéfinie vers « __assert_fail »
ld : src/openlibm/src/s_catanl.c.o : dans la fonction « catanl » :
s_catanl.c:(.text+0x141) : référence indéfinie vers « logl »
ld : src/openlibm/src/s_cexpl.c.o : dans la fonction « cexpl » :
s_cexpl.c:(.text+0x1f) : référence indéfinie vers « expl »
ld : src/openlibm/src/s_tgammaf.c.o : dans la fonction « tgammaf » :
s_tgammaf.c:(.text+0x9) : référence indéfinie vers « tgamma »
ld : src/openlibm/src/s_ccoshl.c.o : dans la fonction « ccoshl » :
s_ccoshl.c:(.text+0x47) : référence indéfinie vers « sinhl »
ld : s_ccoshl.c:(.text+0x73) : référence indéfinie vers « coshl »
ld : src/openlibm/src/s_csinhl.c.o : dans la fonction « csinhl » :
s_csinhl.c:(.text+0x47) : référence indéfinie vers « coshl »
ld : s_csinhl.c:(.text+0x73) : référence indéfinie vers « sinhl »
ld : src/openlibm/src/s_sinl.c.o : dans la fonction « sinl » :
s_sinl.c:(.text+0x1b9) : référence indéfinie vers « __kernel_sinl »
ld : s_sinl.c:(.text+0x1de) : référence indéfinie vers « __kernel_sinl »
ld : s_sinl.c:(.text+0x340) : référence indéfinie vers « __kernel_cosl »
ld : s_sinl.c:(.text+0x360) : référence indéfinie vers « __kernel_cosl »
ld : s_sinl.c:(.text+0x385) : référence indéfinie vers « __kernel_sinl »
ld : src/openlibm/src/s_cosl.c.o : dans la fonction « cosl » :
s_cosl.c:(.text+0x199) : référence indéfinie vers « __kernel_cosl »
ld : s_cosl.c:(.text+0x1c4) : référence indéfinie vers « __kernel_cosl »
ld : s_cosl.c:(.text+0x325) : référence indéfinie vers « __kernel_sinl »
ld : s_cosl.c:(.text+0x34d) : référence indéfinie vers « __kernel_sinl »
ld : s_cosl.c:(.text+0x370) : référence indéfinie vers « __kernel_cosl »
ld : src/openlibm/src/s_clogl.c.o : dans la fonction « clogl » :
s_clogl.c:(.text+0x1f) : référence indéfinie vers « logl »
ld : src/openlibm/src/s_casin.c.o : dans la fonction « casin » :
s_casin.c:(.text+0x20f) : référence indéfinie vers « __muldc3 »
ld : s_casin.c:(.text+0x23b) : référence indéfinie vers « __muldc3 »
ld : src/openlibm/src/e_atan2l.c.o : dans la fonction « atan2l » :
e_atan2l.c:(.text+0xc0) : référence indéfinie vers « _ItL_atanhi »
ld : e_atan2l.c:(.text+0xca) : référence indéfinie vers « _ItL_atanlo »
ld : e_atan2l.c:(.text+0x113) : référence indéfinie vers « _ItL_atanhi »
ld : e_atan2l.c:(.text+0x213) : référence indéfinie vers « _ItL_atanhi »
ld : e_atan2l.c:(.text+0x30b) : référence indéfinie vers « _ItL_pi_lo »
ld : e_atan2l.c:(.text+0x34b) : référence indéfinie vers « _ItL_pi_lo »
ld : src/openlibm/src/e_asinl.c.o : dans la fonction « asinl » :
e_asinl.c:(.text+0x48) : référence indéfinie vers « _ItL_atanhi »
ld : e_asinl.c:(.text+0x52) : référence indéfinie vers « _ItL_atanlo »
ld : e_asinl.c:(.text+0x9d) : référence indéfinie vers « _ItL_pS6 »
ld : e_asinl.c:(.text+0xaa) : référence indéfinie vers « _ItL_pS5 »
ld : e_asinl.c:(.text+0xb5) : référence indéfinie vers « _ItL_pS4 »
ld : e_asinl.c:(.text+0xc2) : référence indéfinie vers « _ItL_pS3 »
ld : e_asinl.c:(.text+0xcf) : référence indéfinie vers « _ItL_pS2 »
ld : e_asinl.c:(.text+0xdc) : référence indéfinie vers « _ItL_pS1 »
ld : e_asinl.c:(.text+0xe9) : référence indéfinie vers « _ItL_pS0 »
ld : e_asinl.c:(.text+0xf6) : référence indéfinie vers « _ItL_qS5 »
ld : e_asinl.c:(.text+0x103) : référence indéfinie vers « _ItL_qS4 »
ld : e_asinl.c:(.text+0x10e) : référence indéfinie vers « _ItL_qS3 »
ld : e_asinl.c:(.text+0x11b) : référence indéfinie vers « _ItL_qS2 »
ld : e_asinl.c:(.text+0x128) : référence indéfinie vers « _ItL_qS1 »
ld : e_asinl.c:(.text+0x160) : référence indéfinie vers « _ItL_pS6 »
ld : e_asinl.c:(.text+0x179) : référence indéfinie vers « _ItL_pS5 »
ld : e_asinl.c:(.text+0x184) : référence indéfinie vers « _ItL_pS4 »
ld : e_asinl.c:(.text+0x191) : référence indéfinie vers « _ItL_pS3 »
ld : e_asinl.c:(.text+0x19e) : référence indéfinie vers « _ItL_pS2 »
ld : e_asinl.c:(.text+0x1ab) : référence indéfinie vers « _ItL_pS1 »
ld : e_asinl.c:(.text+0x1b8) : référence indéfinie vers « _ItL_pS0 »
ld : e_asinl.c:(.text+0x1c5) : référence indéfinie vers « _ItL_qS5 »
ld : e_asinl.c:(.text+0x1d6) : référence indéfinie vers « _ItL_qS4 »
ld : e_asinl.c:(.text+0x1e1) : référence indéfinie vers « _ItL_qS3 »
ld : e_asinl.c:(.text+0x1ee) : référence indéfinie vers « _ItL_qS2 »
ld : e_asinl.c:(.text+0x1fb) : référence indéfinie vers « _ItL_qS1 »
ld : e_asinl.c:(.text+0x243) : référence indéfinie vers « _ItL_atanlo »
ld : e_asinl.c:(.text+0x259) : référence indéfinie vers « _ItL_atanhi »
ld : e_asinl.c:(.text+0x27d) : référence indéfinie vers « _ItL_atanhi »
ld : e_asinl.c:(.text+0x297) : référence indéfinie vers « _ItL_atanlo »
ld : src/openlibm/src/s_cpowl.c.o : dans la fonction « cpowl » :
s_cpowl.c:(.text+0xcd) : référence indéfinie vers « powl »
ld : s_cpowl.c:(.text+0x15a) : référence indéfinie vers « expl »
ld : s_cpowl.c:(.text+0x174) : référence indéfinie vers « logl »
ld : src/openlibm/src/s_casinf.c.o : dans la fonction « casinf » :
s_casinf.c:(.text+0x284) : référence indéfinie vers « __mulsc3 »
ld : s_casinf.c:(.text+0x2ba) : référence indéfinie vers « __mulsc3 »
ld : src/openlibm/src/s_catanhl.c.o : dans la fonction « catanhl » :
s_catanhl.c:(.text+0x81) : référence indéfinie vers « __mulxc3 »
ld : s_catanhl.c:(.text+0xb5) : référence indéfinie vers « __mulxc3 »
ld : src/openlibm/src/s_cacoshl.c.o : dans la fonction « cacoshl » :
s_cacoshl.c:(.text+0x66) : référence indéfinie vers « __mulxc3 »
ld : src/openlibm/src/s_cacoshf.c.o : dans la fonction « cacoshf » :
s_cacoshf.c:(.text+0x82) : référence indéfinie vers « __mulsc3 »
ld : src/openlibm/src/s_casinl.c.o : dans la fonction « casinl » :
s_casinl.c:(.text+0x338) : référence indéfinie vers « __mulxc3 »
ld : s_casinl.c:(.text+0x3ca) : référence indéfinie vers « __mulxc3 »
ld : s_casinl.c:(.text+0x40e) : référence indéfinie vers « __mulxc3 »
ld : src/openlibm/src/s_nan.c.o : dans la fonction « __scan_nan » :
s_nan.c:(.text+0x17) : référence indéfinie vers « memset »
ld : s_nan.c:(.text+0x33) : référence indéfinie vers « __ctype_b_loc »
ld : src/openlibm/src/s_cacosh.c.o : dans la fonction « cacosh » :
s_cacosh.c:(.text+0x49) : référence indéfinie vers « __muldc3 »
ld : src/openlibm/src/s_catanh.c.o : dans la fonction « catanh » :
s_catanh.c:(.text+0x6f) : référence indéfinie vers « __muldc3 »
ld : s_catanh.c:(.text+0x86) : référence indéfinie vers « __muldc3 »
ld : src/openlibm/src/s_csinl.c.o : dans la fonction « csinl » :
s_csinl.c:(.text+0x4f) : référence indéfinie vers « coshl »
ld : s_csinl.c:(.text+0x63) : référence indéfinie vers « sinhl »
ld : s_csinl.c:(.text+0xd8) : référence indéfinie vers « expl »
ld : src/openlibm/src/e_acosl.c.o : dans la fonction « acosl » :
e_acosl.c:(.text+0x3d) : référence indéfinie vers « _ItL_atanhi »
ld : e_acosl.c:(.text+0x47) : référence indéfinie vers « _ItL_atanlo »
ld : e_acosl.c:(.text+0x93) : référence indéfinie vers « _ItL_qS5 »
ld : e_acosl.c:(.text+0x9c) : référence indéfinie vers « _ItL_qS4 »
ld : e_acosl.c:(.text+0xa5) : référence indéfinie vers « _ItL_qS3 »
ld : e_acosl.c:(.text+0xb1) : référence indéfinie vers « _ItL_qS2 »
ld : e_acosl.c:(.text+0xbe) : référence indéfinie vers « _ItL_qS1 »
ld : e_acosl.c:(.text+0xcb) : référence indéfinie vers « _ItL_pS6 »
ld : e_acosl.c:(.text+0xd8) : référence indéfinie vers « _ItL_pS5 »
ld : e_acosl.c:(.text+0xe1) : référence indéfinie vers « _ItL_pS4 »
ld : e_acosl.c:(.text+0xea) : référence indéfinie vers « _ItL_pS3 »
ld : e_acosl.c:(.text+0xf3) : référence indéfinie vers « _ItL_pS2 »
ld : e_acosl.c:(.text+0xfc) : référence indéfinie vers « _ItL_pS1 »
ld : e_acosl.c:(.text+0x10b) : référence indéfinie vers « _ItL_pS0 »
ld : e_acosl.c:(.text+0x22a) : référence indéfinie vers « _ItL_pS6 »
ld : e_acosl.c:(.text+0x237) : référence indéfinie vers « _ItL_pS5 »
ld : e_acosl.c:(.text+0x242) : référence indéfinie vers « _ItL_pS4 »
ld : e_acosl.c:(.text+0x24f) : référence indéfinie vers « _ItL_pS3 »
ld : e_acosl.c:(.text+0x25c) : référence indéfinie vers « _ItL_pS2 »
ld : e_acosl.c:(.text+0x269) : référence indéfinie vers « _ItL_pS1 »
ld : e_acosl.c:(.text+0x276) : référence indéfinie vers « _ItL_pS0 »
ld : e_acosl.c:(.text+0x283) : référence indéfinie vers « _ItL_qS5 »
ld : e_acosl.c:(.text+0x290) : référence indéfinie vers « _ItL_qS4 »
ld : e_acosl.c:(.text+0x29b) : référence indéfinie vers « _ItL_qS3 »
ld : e_acosl.c:(.text+0x2a8) : référence indéfinie vers « _ItL_qS2 »
ld : e_acosl.c:(.text+0x2b5) : référence indéfinie vers « _ItL_qS1 »
ld : e_acosl.c:(.text+0x358) : référence indéfinie vers « _ItL_atanlo »
ld : e_acosl.c:(.text+0x383) : référence indéfinie vers « _ItL_atanlo »
ld : src/openlibm/src/s_atanl.c.o : dans la fonction « atanl » :
s_atanl.c:(.text+0x24) : référence indéfinie vers « _ItL_atanhi »
ld : s_atanl.c:(.text+0x2e) : référence indéfinie vers « _ItL_atanlo »
ld : s_atanl.c:(.text+0x90) : référence indéfinie vers « _ItL_aT »
ld : s_atanl.c:(.text+0x113) : référence indéfinie vers « _ItL_atanhi »
ld : s_atanl.c:(.text+0x121) : référence indéfinie vers « _ItL_atanlo »
ld : src/openlibm/src/s_casinhf.c.o : dans la fonction « casinhf » :
s_casinhf.c:(.text+0xa3) : référence indéfinie vers « __mulsc3 »
ld : s_casinhf.c:(.text+0xca) : référence indéfinie vers « __mulsc3 »
ld : src/openlibm/src/s_casinh.c.o : dans la fonction « casinh » :
s_casinh.c:(.text+0x6f) : référence indéfinie vers « __muldc3 »
ld : s_casinh.c:(.text+0x86) : référence indéfinie vers « __muldc3 »
ld : src/openlibm/src/s_ctanl.c.o : dans la fonction « ctanl » :
s_ctanl.c:(.text+0x8a) : référence indéfinie vers « coshl »
ld : s_ctanl.c:(.text+0xf2) : référence indéfinie vers « sinhl »
ld : src/openlibm/src/s_tanl.c.o : dans la fonction « tanl » :
s_tanl.c:(.text+0x1a0) : référence indéfinie vers « __kernel_tanl »
ld : s_tanl.c:(.text+0x1be) : référence indéfinie vers « __kernel_tanl »
ld : s_tanl.c:(.text+0x315) : référence indéfinie vers « __kernel_tanl »
ld : src/openlibm/src/s_casinhl.c.o : dans la fonction « casinhl » :
s_casinhl.c:(.text+0x81) : référence indéfinie vers « __mulxc3 »
ld : s_casinhl.c:(.text+0xb5) : référence indéfinie vers « __mulxc3 »
ld : src/openlibm/src/s_catanhf.c.o : dans la fonction « catanhf » :
s_catanhf.c:(.text+0xa3) : référence indéfinie vers « __mulsc3 »
ld : s_catanhf.c:(.text+0xca) : référence indéfinie vers « __mulsc3 »
ld : src/openlibm/src/s_ccosl.c.o : dans la fonction « ccosl » :
s_ccosl.c:(.text+0x4f) : référence indéfinie vers « coshl »
ld : s_ccosl.c:(.text+0x63) : référence indéfinie vers « sinhl »
ld : s_ccosl.c:(.text+0xe0) : référence indéfinie vers « expl »
ld : src/openlibm/src/e_lgammal.c.o : dans la fonction « lgammal » :
e_lgammal.c:(.text+0x8) : référence indéfinie vers « lgammal_r »
ld : src/openlibm/src/s_ctanhl.c.o : dans la fonction « ctanhl » :
s_ctanhl.c:(.text+0x4c) : référence indéfinie vers « coshl »
ld : s_ctanhl.c:(.text+0x9a) : référence indéfinie vers « sinhl »
make: *** [Makefile:48 : build-x86_64] Erreur 1

Lephenixnoir En ligne Administrateur Points: 24053 Défis: 169 Message

Citer : Posté le 24/02/2023 08:30 | #


Plusieurs choses :
- Compile OpenLibm proprement (ie. avec son Makefile), installe-la, et ensuite utilise l'archive .a. Mélanger tous les .o de différents projets c'est le chaos
- N'appelle jamais ld tout seul sauf si tu sais vraiment ce que tu fais (il y a probablement des bouts qui t'échappent), utilise gcc
- Tu as activé ld80 qui n'existe que pour x86 c'est pour ça que toutes les fonctions ItL_etc sortent
- Tu n'a pas linké avec libgcc
Mon graphe (16 Jan): (PythonExtra ; fxsdk#11 ; gint#27 ; (Rogue Life || HH2) ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Inikiwi En ligne Membre Points: 521 Défis: 8 Message

Citer : Posté le 24/02/2023 09:50 | #


c'est bon. j'ai corrigé le problème tout seul. j'utilise le makefile et je link le .a et tout marche bien. j'ai ajouté plein de fonctions, il me reste plus que le plus dur.
ld: attention: dist/x86_64/kiwikernel.bin a un segment LOAD avec les permissions RWX
ld : build/lua/ldo.o : dans la fonction « luaD_throw » :
ldo.c:(.text+0x150) : référence indéfinie vers « longjmp »
ld : build/lua/ldo.o : dans la fonction « luaD_rawrunprotected » :
ldo.c:(.text+0x26a) : référence indéfinie vers « setjmp »
ld : build/lua/lauxlib.o : dans la fonction « l_alloc » :
lauxlib.c:(.text+0x279f) : référence indéfinie vers « free »
ld : lauxlib.c:(.text+0x27be) : référence indéfinie vers « realloc »
ld : build/lua/liolib.o : dans la fonction « io_tmpfile » :
liolib.c:(.text+0x6b5) : référence indéfinie vers « tmpfile »
ld : build/lua/liolib.o : dans la fonction « g_read » :
liolib.c:(.text+0x10e5) : référence indéfinie vers « clearerr »
ld : build/lua/lcode.o : dans la fonction « savelineinfo » :
lcode.c:(.text+0x82e) : référence indéfinie vers « abs »
ld : build/lua/loslib.o : dans la fonction « os_tmpname » :
loslib.c:(.text+0x14d) : référence indéfinie vers « tmpnam »
ld : build/lua/loslib.o : dans la fonction « os_date » :
loslib.c:(.text+0x720) : référence indéfinie vers « gmtime »
ld : loslib.c:(.text+0x73e) : référence indéfinie vers « localtime »
ld : loslib.c:(.text+0x8a4) : référence indéfinie vers « strftime »
ld : build/lua/loslib.o : dans la fonction « os_difftime » :
loslib.c:(.text+0xac6) : référence indéfinie vers « difftime »
make: *** [Makefile:48 : build-x86_64] Erreur 1

ps: les fonctions de fichiers retourne tous 0;
Lephenixnoir En ligne Administrateur Points: 24053 Défis: 169 Message

Citer : Posté le 24/02/2023 10:03 | #


Bien joué ! Bon courage pour la libc.
Mon graphe (16 Jan): (PythonExtra ; fxsdk#11 ; gint#27 ; (Rogue Life || HH2) ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Inikiwi En ligne Membre Points: 521 Défis: 8 Message

Citer : Posté le 24/02/2023 10:08 | #


pour malloc je ne vais pas me fatiguer pour l'instant. je fais juste faire un système d'offset qui s'incrémente avec 100Ko de marge pour les realloc. j'ai 8Go après tout...
Inikiwi En ligne Membre Points: 521 Défis: 8 Message

Citer : Posté le 24/02/2023 14:57 | # | Fichier joint


. qui peux m'aider?
/bin/sh: 2:  : not found
make: *** [Makefile:57 : build-x86_64] Erreur 127



Lephenixnoir En ligne Administrateur Points: 24053 Défis: 169 Message

Citer : Posté le 24/02/2023 15:05 | #


Le shell te dit que ça plante à la ligne 2 du script, lequel commence à la ligne 57 du Makefile, donc ça plante sur la ligne 58. La "commande vide" n'a pas été trouvée. Peut-être que la variable $(LD) est vide ou contient un truc suspect ?
Mon graphe (16 Jan): (PythonExtra ; fxsdk#11 ; gint#27 ; (Rogue Life || HH2) ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Inikiwi En ligne Membre Points: 521 Défis: 8 Message

Citer : Posté le 24/02/2023 15:10 | #


ld est totalement normale! elle marche très bien depuis 2 mois.
LD=ld -melf_x86_64

1, 2 Suivante

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 44 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd