blob: 7e845cc6eb1b496d3e763a7039dce5cbf6f5d5dd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
with Ada.Unchecked_Conversion;
with Ortho_Code.Binary;
with Binary_File; use Binary_File;
with Binary_File.Memory;
package body Ortho_Mcode.Jit is
-- Set address of non-defined global variables or functions.
procedure Set_Address (Decl : O_Dnode; Addr : Address)
is
use Ortho_Code.Binary;
begin
Binary_File.Memory.Set_Symbol_Address
(Get_Decl_Symbol (Ortho_Code.O_Dnode (Decl)), Addr);
end Set_Address;
-- Get address of a global.
function Get_Address (Decl : O_Dnode) return Address
is
use Ortho_Code.Binary;
function Conv is new Ada.Unchecked_Conversion
(Source => Pc_Type, Target => Address);
begin
return Conv (Get_Symbol_Vaddr
(Get_Decl_Symbol (Ortho_Code.O_Dnode (Decl))));
end Get_Address;
end Ortho_Mcode.Jit;
|