著者: Yves Martin 日付: To: guilde 題目: Re: Linux supporte-t-il les fichiers creux ?
Selon Xavier Bestel <xavier.bestel@???>:
> Le mar 06/01/2004 à 15:19, Edgar Bonet a écrit :
> > Je ne crois pas que les trous dans le fichier core correspondent à ces
> > trous dans l'espace adressable. Si c'était le cas les fichiers core
> > auraient une taille (d'après ls -l) énorme. Or ce n'est pas forcément le
> > cas
>
> Effectivement. Je viens de regarder le source (binfmt_elf.c du 2.6), et
> c'est plus sioux que ça:
>
> - En gros, les zones mémoires (VMA) sont écrites les unes à la suite des
> autres. (ligne 1390)
> - pour s'y reconnaitre, au début du fichier (format elf), il y a des
> headers pour les annoncer (genre type/addr/offset) (ligne 1350)
> - toutes les VMA ne sont pas écrites: le code (prog et libs) et la
> mémoire partagée sont exclus par exemple. (ligne 960)
C'est étrange - un objdump -h core me retourne des sections markées 'code'
Peut-être qu'il y a eu des améliorations depuis le noyau 2.4 pour ne pas
inclure les sections text read-only mais laisser gdb les récupérer de
l'exécutable (ou .so) d'origine.
Je cherchais de la doc sur le format core ou plutôt comment le dump
est stocké au format ELF - que je n'ai pas encore trouvée
- mais je n'aurais jamais imaginé regardé dans les sources sur kernel...
Respect !
--
Yves Martin