(** We also axiomatize the small data area.  For simplicity, we claim that small data symbols can be accessed by absolute 16-bit offsets, that is, relative to [GPR0].  In reality, the linker rewrites the object code, transforming [symb@sdarx(r0)] addressings into [offset(rN)] addressings, where [rN] is the reserved register pointing to the base of the small data area containing symbol [symb].  We leave this transformation up to the linker. *)
Parameter symbol_is_small_data: ident -> ptrofs -> bool.
Parameter small_data_area_offset: genv -> ident -> ptrofs -> val.

(* Specifications: *)
Axiom small_data_area_addressing:
forall id ofs,
symbol_is_small_data id ofs = true ->
small_data_area_offset ge id ofs = Genv.symbol_address ge id ofs.