Provided by: manpages-fr-dev_4.13-4_all bug

NOM

       etext, edata, end - Fin des segments de programme

SYNOPSIS

       extern etext;
       extern edata;
       extern end;

DESCRIPTION

       Les adresses de ces symboles indiquent la fin de différents segments du programme :

       etext  La première adresse après la fin du segment de texte (le code du programme).

       edata  La première adresse après la fin du segment des données initialisées.

       end    La première adresse après la fin du segment des données non initialisées (également connu comme le
              segment BSS).

CONFORMITÉ

       Bien  que  ces  symboles aient été fournis depuis longtemps par la plupart des systèmes UNIX, ils ne sont
       pas standard ; utilisez les avec précaution.

NOTES

       Le programme doit  déclarer  explicitement  ces  symboles ;  ils  ne  sont  définis  dans  aucun  fichier
       d'en-têtes.

       Sur certains systèmes, les noms de ces symboles sont précédé d'un tiret-bas : _etext, _edata et _end. Ces
       symboles sont également définis pour les programmes compilés sous Linux.

       Au  début  de  l'exécution  du programme, l’interruption de programme se trouve quelque part près de &end
       (peut-être au début de la page qui suit). Cependant, l’interruption de programme se déplacera au fur et à
       mesure que de la mémoire est allouée avec brk(2) ou malloc(3). Utilisez sbrk(2)  avec  un  paramètre  nul
       pour trouver la valeur actuelle de l’interruption de programme.

EXEMPLES

       Lors de son exécution, le programme affiche les résultats suivants :

           $ ./a.out
           First address past:
               program text (etext)       0x8048568
               initialized data (edata)   0x804a01c
               uninitialized data (end)   0x804a024

   Source du programme

       #include <stdio.h>
       #include <stdlib.h>

       extern char etext, edata, end; /* The symbols must have some type,
                                          or "gcc -Wall" complains */

       int
       main(int argc, char *argv[])
       {
           printf("First address past:\n");
           printf("    program text (etext)      %10p\n", &etext);
           printf("    initialized data (edata)  %10p\n", &edata);
           printf("    uninitialized data (end)  %10p\n", &end);

           exit(EXIT_SUCCESS);
       }

VOIR AUSSI

       objdump(1), readelf(1), sbrk(2), elf(5)

COLOPHON

       Cette page fait partie de la publication 5.10 du projet man-pages Linux. Une description du projet et des
       instructions  pour  signaler  des  anomalies et la dernière version de cette page peuvent être trouvées à
       l'adresse https://www.kernel.org/doc/man-pages/.

TRADUCTION

       La  traduction  française   de   cette   page   de   manuel   a   été   créée   par   Christophe   Blaess
       <https://www.blaess.fr/christophe/>,   Stéphan   Rafin   <stephan.rafin@laposte.net>,   Thierry   Vignaud
       <tvignaud@mandriva.com>, François Micaux, Alain Portal  <aportal@univ-montp2.fr>,  Jean-Philippe  Guérard
       <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)   <jean-luc.coulon@wanadoo.fr>,   Julien   Cristau
       <jcristau@debian.org>,     Thomas     Huriaux      <thomas.huriaux@gmail.com>,      Nicolas      François
       <nicolas.francois@centraliens.net>,     Florentin     Duneau    <fduneau@gmail.com>,    Simon    Paillard
       <simon.paillard@resel.enst-bretagne.fr>,   Denis   Barbier   <barbier@debian.org>   et    David    Prévot
       <david@tilapin.org>

       Cette  traduction  est  une  documentation libre ; veuillez vous reporter à la GNU General Public License
       version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel,  veuillez  envoyer  un  message  à
       debian-l10n-french@lists.debian.org.

GNU                                                9 juin 2020                                            END(3)