<!--
	LSC
 
  	Copyright 2011-2022 IS2T. All rights reserved.
	Modification and distribution is permitted under certain conditions.
 	IS2T PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
-->
<lscFragment>
	<!--
		Linker file for converting ELF SOAR relocatable file to target ELF relocatable.
		This file defines SOAR symbols entry points for both static and dynamic link. 	
	-->
	
	<!-- Soar section start --> 
	<rootSymbol name="_java_soarsection_header_start"/>

	<!-- Soar runtime header start --> 
	<rootSymbol name="_java_soarfile_header_start"/>

	<rootSymbol name="_java_header_types_start"/>
	<rootSymbol name="_java_header_types_end"/>
	<rootSymbol name="_java_header_concretetypes_end"/>
	<rootSymbol name="_java_internStrings_start"/>
	<rootSymbol name="_java_internStrings_end"/>
	<rootSymbol name="_java_sharedarray_start"/>
	<rootSymbol name="_java_class_names_start"/>
	<rootSymbol name="_java_class_names_end"/>
	<rootSymbol name="_java_resource_names_start"/>
	<rootSymbol name="_java_resource_names_end"/>
	<rootSymbol name="_java_statics_ref_start"/>
	<rootSymbol name="_java_statics_ref_end"/>
	<rootSymbol name="_java_names_data_start"/>
	<rootSymbol name="_java_stackgroup_table"/>
	<rootSymbol name="_java_stackgroup_table_length"/>
	<rootSymbol name="_java_immutable_Keys"/>
	<rootSymbol name="_java_immutable_Values"/>
	<rootSymbol name="_java_properties_Keys"/>
	<rootSymbol name="_java_properties_Values"/>
	<rootSymbol name="_java_Object_OutOfMemory"/>
	<rootSymbol name="_java_immutables_start"/>
	<rootSymbol name="_java_immutables_end"/>
	<rootSymbol name="_java_clinits_start"/>
	<rootSymbol name="_java_clinits_end"/>
	
	<defSymbol name="_java_soarsection_header_start" value="START(.rodata.microej.soar)" />

	<!-- 
		The following symbols are declared weak for backward compatibility with SOARv1 
		There are directly generated by SOAR (v2), no more by the partial linker 
		(a single section is generated) 
	-->
	<defSymbol name="_java_resource_names_start" value="START(SOAR_RESOURCES_NAMES)" weak="true"/>
	<defSymbol name="_java_resource_names_end" value="END(SOAR_RESOURCES_NAMES)" weak="true"/>
	<defSymbol name="_java_class_names_start" value="START(SOAR_CLASS_NAMES)" weak="true"/>
	<defSymbol name="_java_class_names_end" value="END(SOAR_CLASS_NAMES)" weak="true"/>
	<defSymbol name="_java_immutables_start" value="START(SOAR_IMMUTABLES)" weak="true"/>
	<defSymbol name="_java_immutables_end" value="END(SOAR_IMMUTABLES)" weak="true"/>
	
	<defSymbol name="_java_statics_ref_start" value="START(SOAR_STATICS_REF)"/>
	<defSymbol name="_java_statics_ref_end" value="END(SOAR_STATICS_REF)"/>
	
	<rootSymbol name="__icetea___6bss_6soar_6BT1$$Base"/>
	<rootSymbol name="__icetea___6bss_6soar_6BT1$$Limit"/>
	<rootSymbol name="__icetea___6bss_6soar_6BT2$$Base"/>
	<rootSymbol name="__icetea___6bss_6soar_6BT2$$Limit"/>
	<rootSymbol name="__icetea___6bss_6soar_6BT4$$Base"/>
	<rootSymbol name="__icetea___6bss_6soar_6BT4$$Limit"/>
	<rootSymbol name="__icetea___6bss_6soar_6BT8$$Base"/>
	<rootSymbol name="__icetea___6bss_6soar_6BT8$$Limit"/>
	<rootSymbol name="__icetea___6bss_6soar_6REF$$Base"/>
	<rootSymbol name="__icetea___6bss_6soar_6REF$$Limit"/>
	
	<rootSymbol name="__icetea___6rodata_6microej_6soar$$Base"/>
	
	<!--
		Define a base symbol used to resolve link-time constants (also called 'externProperty' in IceTeaToCCompiler).
		On configurations compatible with shared libraries and ASLR, this symbol is substracted from the symbol absolute address
		to get its real value.
		The value is known by IceTeaToCCompiler (setting a 0 symbol or a non aligned value is not portable).
	-->
	<defSymbol name="SOAR_ICETEA_SHARED_LIBRARY_BASE_ADDRESS" value="4" rootSymbol="true"/> 
	
</lscFragment>
	