Skip to content

Latest commit

 

History

History

Q40810

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
layout title permalink
page
Q40810: _edata and _end Are Defined by LINK
/kb/040/Q40810/

Q40810: _edata and _end Are Defined by LINK

{% raw %}

Article: Q40810
Product(s): See article
Version(s): 5.10   | 5.10
Operating System(s): MS-DOS | OS/2
Keyword(s): ENDUSER | S_LINK | mspl13_c
Last Modified: 16-MAY-1989

Question :

In the map file generated by Microsoft LINK, there are two symbols:
_edata and _end. What are they?

Response:

When the /DOSSEG (default) option is used with the LINK command, these
two symbols are created by LINK and are used in the C startup code as
markers. They are only meaningful for the Microsoft C and FORTRAN
Compilers.

This information is explained on Page 273 of the "Microsoft CodeView
and Utilities Software Development Tools for the MS-DOS Operating
System" manual for C Version 5.00 or 5.10 in the LINK section. The
note on this page states that the _edata points to the beginning of
the BSS segment; _end points to the end of the BSS segment and the
beginning of the STACK segment.

These two symbols can be found in the startup source code file
CRT0.ASM. The startup source code is included in the Microsoft C
Optimizing Compiler for Versions 5.00 and 5.10.

{% endraw %}