Open NicolasFloquet opened 9 years ago
Au niveau de l'implémentation, il y a plusieurs solutions, il faudrait qu'on en discute. En effet, on peut certes mmaper tout le fichier pour le filer à libELF, mais il ne faut pas que la libelf recopie des choses en mémoire pour le filer au process. Au niveau de la création du process, il nous faut faire des mmap des différentes sections du ELF. On pourra ainsi mapper ce qu'on veut et avec des niveaux de protection différent (code en lecture seule, data en RW).
Ok, moi j'étais plus dans l'idée de mmaper tout, et la lib elf se contentait de dire où se trouve chaque section, mais ça sera peut être pas suffisant effectivement.
Il faudrait que la libElf prenne en entrée une zone mémoire contenant un exécutable mappé. On gagnera en performance, et la lib ne dépendra plus d'une quelconque libc, ce qui la rendra proprement utilisable dans le kernel et en dehors