#  This so_location file keeps track of addresses assigned to various shared
#  objects for quick start purposes.   When a new shared object is created,
#  this file is consulted to select a non-conflicting address for both text
#  and data portions of a shared object and an entry is added here.
#
#  The following defines the syntax of each shared object entry:
#
#	so_name	[ :st = { .text | .data } base_addr,padded_size : ] *
#
#  where
#	so_name		full path name (or trailing component) of a
#			shared object 
#	:st		string identifying start of the segment description
#	.text | .data	segment types: text or data
#	base_addr	address where the segment starts
#	padded_size	padded size of the segment
#	
#  The following directives control the placement of new shared objects:
#
#	$text_align_size=<align>  padding=<pad-size>
#       $data_align_size=<align>  padding=<pad-size>
#	    These two directives specify the alignment and extra space reserved
#	    at the end of the segment for text and data segments respectively.
#
#       $start_address=<addr>
#	    Specifies where to start looking for addresses to put shared
#	    objects.
#
#       $data_after_text = {1 | 0}
#	    If set to 1, then text and data will be placed together with
#	    proper padding.
#
#  NOTE:
#	All MIPS supplied shared objects are assigned addresses within 
#       0x60000000 through 0x70000000 range as follows:
#
#	  - text is placed in a different segment than data.
#	  - text is aligned at 2MBytes boundary.
#	  - data is aligned at 256Kbytes boundary.
#	  - rld's text and data is placed between 0x6ff80000 and 0x70000000
#	  - shared objects are placed below 0x6ff80000 address.
#
#	To avoid any address conflicts with MIPS supplied shared objects, 
#	user shared objects should be placed below 0x60000000 address.
#
$text_align_size=0x200000 padding=0x40000
$data_align_size=0x40000  padding=0x10000
$start_address=0x6ff80000
