[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference turris::digital_unix

Title:DIGITAL UNIX(FORMERLY KNOWN AS DEC OSF/1)
Notice:Welcome to the Digital UNIX Conference
Moderator:SMURF::DENHAM
Created:Thu Mar 16 1995
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:10068
Total number of notes:35879

9708.0. "assembly directives need more detailed guidelines!" by GIDDAY::SANKAR ("") Mon May 05 1997 06:09

The following is the mail from customer asking for help on 
assembler directives.

Apart from the manual is there anything else I can suggest to the customer.

Any help is welcome.

thanks
ss
csc sydney

===============================================




From:	SMTP%"[email protected]"  5-MAY-1997 10:18:48.91
To:	"'[email protected]'" <[email protected]>
CC:	
Subj:	UNIX Command Size Listing (from David Coote)


THE UNIX COMMAND SIZE LISTING


1. PROBLEM

The UNIX command size and address details of the sections within an =
executable file.  The sample output below is from the size-A command run =
on an executable file built by Apex 2.0.6 from Ada 83 code under DEC =
UNIX.  While I have been able to glean some information on these =
sections from various header files, man pages and the DEC Assembler =
manual, the purpose of some of the sections is still unclear.  I have =
gathered together what information I do have in the table.  I would be =
grateful for assistance (DEC/Rational) in clarifying the sections marked =
with a*.


Section 	Description
.text	Executable code. (Machine instructions).
.rdata	Read only data.  Differs from .rconst in that ..rdata can have =
dynamic relocations.
.data 	*Large data.  Is this over 8 bytes?
.lit8	*8 byte literal pool.  Extrapolating from the .lita information I =
found I think this is 8 byte addresses.  Is this right?  These are =
"literal" - AKA constant - addresses?  So you might find some hard-coded =
constant used as an address in code, placed in this area of the =
executable?
.lit4	* 4 byte literal pool.  Questions as for 8 byte literal pool.
.sdata	* Small data. This is under 8 bytes?
.sbss	Contains data items (usually variables) initialised to zero.  =
Default size for variables in this section is 8 or fewer bytes.
.bss 	Contains data items (usually variables) initialised to zero that =
are larger than the limit for the sbss section.
.pdata	* Exception procedure table.  What goes in here? Would you only =
expect to see this in Ada/C++ programs?
.xdata	* Exception scope table.  Questions as for .pdata section.
.comment	* A comment section in an executable. Hmmm. What goes on here?
.lita 	Holds address literals used for 64-bit addressing.  Only present =
in nonshared object files.
.rconst 	Read only constants.


2.	Sample output

Size of single_test:10178928


Section	Size	Physical Address	Virtual Address
.text	6797104	302865120	302865120
.rdata	659312	302076656	302076656
.data	893744	335544320	335544320
.lit8	176	337068864	337068864
.lit4	16	337069040	337069040
.sdata	1312	337069056	337069056
.sbss	512	337070368	3370703687
.bss	908880	337070880	337070880
.pdata	129152	302735968	302735968
.xdata	313168	336438064	336438064
.comment	72096	0	0
.lita	317632	3367551232	336751232
.rconst	85824	30199082	301990832



T.RTitleUserPersonal
Name
DateLines