Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[Caml-list] Print dependencies of a module, and other useful functions

0 views
Skip to first unread message

Richard Jones

unread,
Aug 7, 2003, 9:05:42 AM8/7/03
to caml...@inria.fr

Are there any equivalents to the following functions / programs for
OCaml?

'gcc -MM' / 'gcc -MMD'
Print dependencies of a module. Useful for me for building
robust Makefiles.

'nm' / 'nm -D'
List symbols exported by an OCaml bytecode "binary". Would
help me solve my ongoing Dynlink problems.

'objdump'
List other useful information from an OCaml bytecode "binary".

Also in the debugger, how can I get OCaml to display the parameters
being passed to a function in the stack trace. At the moment I just
see things like:

#0 Pc : 453960 ZAssocs char 2550
#1 Pc : 452492 ZAssocs char 5608
#2 Pc : 14044 List char 1961
#3 Pc : 476772 Model char 24895
#4 Pc : 476772 Model char 24895
#5 Pc : 476772 Model char 24895
#6 Pc : 476800 Model char 24880
#7 Pc : 513364 Simulator char 4635
#8 Pc : 565728 Main char 14244
#9 Pc : 446708 Lib char 711
#10 Pc : 565972 Main char 14494

which is not very useful. It would be nice to show args too.

Rich.

--
Richard Jones. http://www.annexia.org/ http://freshmeat.net/users/rwmj
Merjis Ltd. http://www.merjis.com/ - all your business data are belong to you.
'There is a joke about American engineers and French engineers. The
American team brings a prototype to the French team. The French team's
response is: "Well, it works fine in practice; but how will it hold up
in theory?"'

-------------------
To unsubscribe, mail caml-lis...@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners

Michal Moskal

unread,
Aug 7, 2003, 9:26:06 AM8/7/03
to Richard Jones, caml...@inria.fr
On Thu, Aug 07, 2003 at 02:04:19PM +0100, Richard Jones wrote:
> 'gcc -MM' / 'gcc -MMD'
> Print dependencies of a module. Useful for me for building
> robust Makefiles.

ocamldep

> 'nm' / 'nm -D'
> List symbols exported by an OCaml bytecode "binary". Would
> help me solve my ongoing Dynlink problems.
>
> 'objdump'
> List other useful information from an OCaml bytecode "binary".

Try looking at tools/objinfo.ml. I have a patch for it to support also
*.cmx* files. You'll find it attached.

--
: Michal Moskal :: http://www.kernel.pl/~malekith : GCS {C,UL}++++$ a? !tv
: When in doubt, use brute force. -- Ken Thompson : {E-,w}-- {b++,e}>+++ h

ocaml-objinfo.patch

Stefano Zacchiroli

unread,
Aug 15, 2003, 9:27:48 AM8/15/03
to caml...@inria.fr, Richard Jones
On Thu, Aug 07, 2003 at 03:23:14PM +0200, Michal Moskal wrote:
> Try looking at tools/objinfo.ml. I have a patch for it to support also
> *.cmx* files. You'll find it attached.

Have you proposed this patch upstream?

I'm using objinfo to check for consistencies over a set of ocaml
"objects" and I find really tedious the lack of *.cmx* support ...

Cheers.

--
Stefano Zacchiroli -- Master in Computer Science @ Uni. Bologna, Italy
zack@{cs.unibo.it,debian.org,bononia.it} - http://www.bononia.it/zack/
" I know you believe you understood what you think I said, but I am not
sure you realize that what you heard is not what I meant! " -- G.Romney

Michal Moskal

unread,
Aug 15, 2003, 9:45:46 AM8/15/03
to caml...@inria.fr
On Fri, Aug 15, 2003 at 03:21:59PM +0200, Stefano Zacchiroli wrote:
> On Thu, Aug 07, 2003 at 03:23:14PM +0200, Michal Moskal wrote:
> > Try looking at tools/objinfo.ml. I have a patch for it to support also
> > *.cmx* files. You'll find it attached.
>
> Have you proposed this patch upstream?
>
> I'm using objinfo to check for consistencies over a set of ocaml
> "objects" and I find really tedious the lack of *.cmx* support ...

I'm not sure about architectures that lack native compiler (I don't have
access for any for that matter). That's why I didn't propse it.

--
: Michal Moskal :: http://www.kernel.pl/~malekith : GCS {C,UL}++++$ a? !tv
: When in doubt, use brute force. -- Ken Thompson : {E-,w}-- {b++,e}>+++ h

-------------------

Richard Jones

unread,
Aug 15, 2003, 9:48:12 AM8/15/03
to caml...@inria.fr
On Fri, Aug 15, 2003 at 03:21:59PM +0200, Stefano Zacchiroli wrote:
> On Thu, Aug 07, 2003 at 03:23:14PM +0200, Michal Moskal wrote:
> > Try looking at tools/objinfo.ml. I have a patch for it to support also
> > *.cmx* files. You'll find it attached.
>
> Have you proposed this patch upstream?
>
> I'm using objinfo to check for consistencies over a set of ocaml
> "objects" and I find really tedious the lack of *.cmx* support ...

Agreed, it's really useful. It'd be even better if it could
deconstruct the various types of compiled binaries that
ocamlc/ocamlopt can produce.

Rich.

--
Richard Jones. http://www.annexia.org/ http://freshmeat.net/users/rwmj
Merjis Ltd. http://www.merjis.com/ - all your business data are belong to you.

All new technology is irrelevant until it is taken up by the public.

Sven Luther

unread,
Aug 18, 2003, 5:09:39 AM8/18/03
to caml...@inria.fr
On Fri, Aug 15, 2003 at 03:36:24PM +0200, Michal Moskal wrote:
> On Fri, Aug 15, 2003 at 03:21:59PM +0200, Stefano Zacchiroli wrote:
> > On Thu, Aug 07, 2003 at 03:23:14PM +0200, Michal Moskal wrote:
> > > Try looking at tools/objinfo.ml. I have a patch for it to support also
> > > *.cmx* files. You'll find it attached.
> >
> > Have you proposed this patch upstream?
> >
> > I'm using objinfo to check for consistencies over a set of ocaml
> > "objects" and I find really tedious the lack of *.cmx* support ...
>
> I'm not sure about architectures that lack native compiler (I don't have
> access for any for that matter). That's why I didn't propse it.

Let us test it in the debian package. We have 11 supported
architectures, Only 6 of them being supported by the native compiler.
And Stefano has access to all of them (except possibly mips and mipsel i
think).

Friendly,

Sven Luther

0 new messages