comp.lang.ada
 help / color / mirror / Atom feed
From: tmoran@acm.org
Subject: Re: load and use a ".o" file?
Date: Fri, 19 Dec 2003 01:51:39 GMT
Date: 2003-12-19T01:51:39+00:00	[thread overview]
Message-ID: <LQsEb.146703$_M.721004@attbi_s54> (raw)
In-Reply-To: lNqEb.3288$2t6.2809@newssvr23.news.prodigy.com

>Let's say it is very simple function which was compiled from this:
>
>function HiThere return String is
>begin
>        return "Hi there!";
>end HiThere;
>
>Instead of linking this into an executable, it is just compiled with
>say, "gnatmake -c hithere", to get the "hithere.o" file we're interested in.
>
>Now, how can I load this "hithere.o" file into an already running
>program (without linking it in beforehand) and then call the "HiThere"
>...
>I'm not talking about using a .dll or .so file, just the .o file.

  If you are not talking about using an existing dynamic linker/loader,
then you are clearly talking about developing your own.  In your example,
HiThere may need to make calls (for memory allocation for the string, for
instance) on the Ada Run Time System of the main program.  So you will
need to load the code from the .o file and then modify call addresses, ie,
link, the loaded HiThere function.  You should be able to find the
information you need by looking at the Gnat source code.
  What problem are you trying to solve?  Perhaps there's an easier way.



  parent reply	other threads:[~2003-12-19  1:51 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-12-18 23:31 load and use a ".o" file? lifetime n00b
2003-12-18 23:59 ` Stephen Leake
2003-12-19  1:51 ` tmoran [this message]
2003-12-19 15:28   ` lifetime n00b
2003-12-19 18:08     ` Stephen Leake
2003-12-20 20:12       ` lifetime n00b
2003-12-20 21:15         ` tmoran
2003-12-20 23:41           ` lifetime n00b
2003-12-21  7:15             ` tmoran
2003-12-21 11:46         ` Simon Wright
2003-12-21 13:57         ` Stephen Leake
2003-12-22 19:29           ` lifetime n00b
2003-12-22 20:49           ` Jon S. Anthony
2003-12-22 23:15             ` Stephen Leake
2003-12-23  1:36               ` tmoran
2003-12-27 22:55               ` Jon S. Anthony
2003-12-28  3:28                 ` Stephen Leake
2003-12-28 16:14                   ` Georg Bauhaus
2003-12-29 22:45                     ` Jon S. Anthony
2003-12-29 22:42                   ` Jon S. Anthony
2003-12-30 15:17                     ` lifetime n00b
2003-12-30 16:56                     ` Stephen Leake
2003-12-22 15:50         ` Mark H Johnson
2003-12-22 19:46           ` lifetime n00b
2003-12-22 22:58             ` Mark H Johnson
2003-12-23 17:48               ` Robert I. Eachus
2003-12-23 17:59                 ` Mark H Johnson
2003-12-23 21:53                   ` Robert I. Eachus
2003-12-19 21:28     ` Simon Wright
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox