Version française
Home     About     Download     Resources     Contact us    
Browse thread
Re: ocamldebug must not be stripped!
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Markus Mottl <mottl@m...>
Subject: Re: ocamldebug must not be stripped!
Bonjour - Hello,

                        english version
                        ---------------

Ah, I see... The only program of the ocaml-distribution compiled to
bytecode even if native code is desired is the debugger!  I didn't
know this...

[from Patrick.Loiseleur@lri.fr]
> However, it must be possible to modify the Makefile in order
> to compile it in native code. Or is it a special reason that makes
> compilation of ocamldebug in native code not possible ?

Although it is probably not necessary to compile the debugger in native
code (it is fast enough, I think), I had a look on that, but did not
succeed to link everything after having manipulated the Makefile:

I replaced all occurrences of ".cmo" by ".cmx", ".cma" by ".cmxa"
and added some object files, that implement otherwise missing symbols,
to the linking process:

  ../byterun/meta.o
  ../byterun/stacks.o
  ../byterun/fix_code.o
  ../byterun/prims.o
  ../byterun/debugger.o
  ../byterun/array.o
  ../byterun/fail.o

Unfortunately, the files "fail.o" and "array.o" contain some symbols
that also exist in "libasmrun.a", which is implicitly linked against
the executable. I thought, it would not be very wise to hack any further
into the build process of the debugger, since I am content with the
debugger anyway...

                       version francaise(?)
                       --------------------

Ah, je comprends... Seulement le debugger est compilé en "bytecode", même
si on demande code natif! Je ne l'ai pas su...

[de Patrick.Loiseleur@lri.fr]
> A moins d'une raison particulière (mais laquelle) je pense qu'il est
> possible de compiler ce programme en natif si on le désire.

Je ne pense pas qu'il soit nécessaire de compiler le debugger en natif
(il est assez vite), mais je l'ai essayé (sans succès):

J'ai remplacé ".cmo" par ".cmx", ".cma" par ".cmxa" au "Makefile" et j'ai
ajouté les fichiers suivants (ils contiennent des symbols nécessaires)
pour "linkage":

  ../byterun/meta.o
  ../byterun/stacks.o
  ../byterun/fix_code.o
  ../byterun/prims.o
  ../byterun/debugger.o
  ../byterun/array.o
  ../byterun/fail.o

Malheuresement, les fichiers "fail.o" et "array.o" contiennent quelques
symbols qui aussi existent en "libasmrun.a", qui est implicitement
utilisé pendant "linkage". Je n'ai pas continué á chercher une solution -
je n'ai pas besoin d'un debugger plus vite...

                       Best regards - bien amicalement,
                                   Markus

-- 
*  Markus Mottl              |  University of Economics and       *
*  Department of Applied     |  Business Administration           *
*  Computer Science          |  Vienna, Austria                   *
*  mottl@miss.wu-wien.ac.at  |  http://miss.wu-wien.ac.at/~mottl  *