+++ /dev/null
-.\" Copyright (c) 2008, Linux Foundation, written by Michael Kerrisk
-.\" <mtk.manpages@gmail.com>
-.\"
-.\" %%%LICENSE_START(VERBATIM)
-.\" Permission is granted to make and distribute verbatim copies of this
-.\" manual provided the copyright notice and this permission notice are
-.\" preserved on all copies.
-.\"
-.\" Permission is granted to copy and distribute modified versions of this
-.\" manual under the conditions for verbatim copying, provided that the
-.\" entire resulting derived work is distributed under the terms of a
-.\" permission notice identical to this one
-.\"
-.\" Since the Linux kernel and libraries are constantly changing, this
-.\" manual page may be incorrect or out-of-date. The author(s) assume no
-.\" responsibility for errors or omissions, or for damages resulting from
-.\" the use of the information contained herein. The author(s) may not
-.\" have taken the same level of care in the production of this manual,
-.\" which is licensed free of charge, as they might when working
-.\" professionally.
-.\"
-.\" Formatted or processed versions of this manual, if unaccompanied by
-.\" the source, must acknowledge the copyright and authors of this work.
-.\" %%%LICENSE_END
-.\"
-.TH END 3 2008-07-17 "GNU" "Linux Programmer's Manual"
-.SH NAME
-etext, edata, end \- end of program segments
-.SH SYNOPSIS
-.nf
-.BI extern " etext" ;
-.BI extern " edata" ;
-.BI extern " end" ;
-.fi
-.SH DESCRIPTION
-The addresses of these symbols indicate the end of various program
-segments:
-.TP
-.I etext
-This is the first address past the end of the text segment
-(the program code).
-.TP
-.I edata
-This is the first address past the end of the
-initialized data segment.
-.TP
-.I end
-This is the first address past the end of the
-uninitialized data segment (also known as the BSS segment).
-.SH CONFORMING TO
-Although these symbols have long been provided on most UNIX systems,
-they are not standardized; use with caution.
-.SH NOTES
-The program must explicitly declare these symbols;
-they are not defined in any header file.
-
-On some systems the names of these symbols are preceded by underscores,
-thus:
-.IR _etext ,
-.IR _edata ,
-and
-.IR _end .
-These symbols are also defined for programs compiled on Linux.
-
-At the start of program execution,
-the program break will be somewhere near
-.IR &end
-(perhaps at the start of the following page).
-However, the break will change as memory is allocated via
-.BR brk (2)
-or
-.BR malloc (3).
-Use
-.BR sbrk (2)
-with an argument of zero to find the current value of the program break.
-.SH EXAMPLE
-When run, the program below produces output such as the following:
-.in +4n
-.nf
-
-.RB "$" " ./a.out"
-First address past:
- program text (etext) 0x8048568
- initialized data (edata) 0x804a01c
- uninitialized data (end) 0x804a024
-.fi
-.in
-.SS Program source
-\&
-.nf
-#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);
-}
-.fi
-.SH SEE ALSO
-.BR objdump (1),
-.BR readelf (1),
-.BR sbrk (2),
-.BR elf (5)
-.SH COLOPHON
-This page is part of release 3.79 of the Linux
-.I man-pages
-project.
-A description of the project,
-information about reporting bugs,
-and the latest version of this page,
-can be found at
-\%http://www.kernel.org/doc/man\-pages/.