+2018-04-04 Olivier Hainque <hainque@adacore.com>
+
+ * libgnat/s-trasym__dwarf.adb (Add_Module_To_Cache): Expect a
+ Load_Address argument and pass it down to Init_Module.
+ * libgnat/s-tsmona__linux.adb (Build_Cache_For_All_Modules): Pass
+ lm.l_addr as the Load_Address to Add_Module_To_Cache.
+
2018-04-04 Piotr Trojanek <trojanek@adacore.com>
* einfo.adb (Has_Discriminants): Stronger assertion.
-- Return the String contained in Item, up until the first NUL character
pragma Warnings (Off, "*Add_Module_To_Cache*");
- procedure Add_Module_To_Cache (Module_Name : String);
+ procedure Add_Module_To_Cache (Module_Name : String;
+ Load_Address : System.Address);
-- To be called by Build_Cache_For_All_Modules to add a new module to the
-- list. May not be referenced.
-- Add_Module_To_Cache --
-------------------------
- procedure Add_Module_To_Cache (Module_Name : String) is
+ procedure Add_Module_To_Cache (Module_Name : String;
+ Load_Address : System.Address)
+ is
Module : Module_Cache_Acc;
Success : Boolean;
begin
Module := new Module_Cache;
- Init_Module (Module.all, Success, Module_Name);
+ Init_Module (Module.all, Success, Module_Name, Load_Address);
if not Success then
Free (Module);
return;
while lm /= null loop
if Big_String_Conv.To_Pointer (lm.l_name) (1) /= ASCII.NUL then
-- Discard non-file (like the executable itself or the gate).
- Add_Module_To_Cache (Value (lm.l_name));
+ Add_Module_To_Cache (Value (lm.l_name), lm.l_addr);
end if;
lm := lm.l_next;
end loop;