[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gm2] shared library bug fix

From: Gaius Mulley
Subject: [Gm2] shared library bug fix
Date: Thu, 03 Jun 2010 09:58:51 +0100
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.2 (gnu/linux)


I've finally tracked down a bug in shared library creation (-fPIC).
The bug would occur if you were to make an indirect procedure call in
a shared library (sigsegv).

  To this end the gm2/examples/gravity now works, the example builds a
shared library, Python loads the shared library and configures the
simulated environment and runs the tiny simulation.  This example uses
complex numbers, iso libraries, trig maths and appears to behave


   * gm2/examples/gravity/README:  New file.
   * These changes fix a critical shared library bug which was
   * exposed
     if an indirect procedure call was ever made.  It also
   * changes
     (fixes) the method whereby procedures are declared to gcc.
   * gm2/gm2/gccgm2.c:  function
   * gccgm2_BuildEndFunctionDeclaration
     has an additional parameter, ispublic.  Changes to
     gccgm2_BuildEndFunctionDeclaration to check consistency of
     the three boolean parameters.  New procedure
   * gm2/gm2/gm2except.c:  changed to reflect new
     gccgm2_BuildEndFunctionDeclaration prototype.
   * gm2/gm2/m2.flex:  fixed bug found using valgrind
     (uninitialised field in structure).
   * gm2/m2pp.c:  m2pp_comment_header prints out the a header
     comment which contains the public, static, external tree
   * gm2/bnf/m2-3.bnf:  completed the Alignment ebnf changes.
   * gm2/bnf/m2-h.bnf:  completed the Alignment ebnf changes.
   * gm2/bnf/m2.bnf:  completed the Alignment ebnf changes.
   * gm2/el/g-mode.el:  close parenthesis detected.
   * gm2/examples/gravity/  fixed rules and allow
     example to be built using post-install or pre-installed gm2.
   * gm2/examples/gravity/  fixed circle position.
   * gm2/examples/gravity/twoDsim.mod:  tidied up comments.
   * gm2/gm2-compiler/M2GCCDeclare.mod:  changes to reflect new
     gccgm2_BuildEndFunctionDeclaration prototype.  Also fixed a
     bug in IsEffectivelyImported which would attempt to declare
     a procedure if it were declared in another imported module.
   * gm2/gm2-compiler/SymbolTable.def:  tidied up declaration.
   * gm2/gm2-compiler/gccgm2.def:  new
   * BuildEndFunctionDeclaration

reply via email to

[Prev in Thread] Current Thread [Next in Thread]