Ludovic Brenta wrote:
> Hi Kevin,
> 
> Your help will be definitely appreciated.
> 
> At first, I wanted to replace GPS 2.1.0 with the newest version, 4.0.0.
> I had some trouble compiling it but finally succeeded and found that it
> would crash with a Storage_Error whenever opening a project, or any file
> for that matter.

If the exception is the same as what I'm getting here, then chances
are it's generating a SIGSEGV.

Given the problems that 3.1.3 seems to be having, it sounds like it
might be worth our while to concentrate on 4.0.0 instead.  But since
you're the primary maintainer, that's your call.  :-)


I'm compiling with a bunch of additional switches now and getting a
bunch of warnings, some of which are very definitely indicative of
this application not being 64-bit clean, such as:

ada_module.adb:205:13: warning: types for unchecked conversion have
different sizes
ada_module.adb:205:13: warning: size of "Gulong" is 64, size of
"Discrete_Type" is 32
ada_module.adb:205:13: warning: 32 high order bits of source will be
ignored


That might be bad, but this looks to be much worse:

gps-kernel-modules.adb:1274:13: warning: types for unchecked
conversion have different sizes
gps-kernel-modules.adb:1274:13: warning: size of "BASE_TYPE" is 32,
size of "ADDRESS" is 64
gps-kernel-modules.adb:1274:13: warning: source will be extended with
32 high order sign bits


Such errors can be found in a number of places.



Here are the Builder and Compiler package stanzas I'm using in
gps.gpr:

   package Builder is
      for Default_Switches ("Ada") use ("-k", "-a", "-m");
      for Executable ("gps-main") use "gnat-gps";
   end Builder;

   package Compiler is
      for Default_Switches ("Ada") use ("-g", "-O0", "-gnatafno", "-gnatVa", 
"-fstack-check", "-gnatE", "-gnatD");
      for Switches ("gvd-canvas.adb") use ("-O0", "-gnatafno", "-gnatVa", 
"-fstack-check", "-gnatE", "-gnatD");
      for Switches ("codefix-text_manager.adb") use ("-g", "-O0", "-gnatafno", 
"-gnatVa", "-gnatE", "-gnatD");
   end Compiler;


I also added "-g" to the Default_Switches list for the Linker package.

I made the exception for gvd-canvas.adb in order to get it past the
compiler bug, and for codefix-text_manager.adb because with
'-fstack-check' it would throw the following compiler error:

codefix-text_manager.adb:2301:45: dynamically tagged expression not allowed


I'd like to somehow fix the source so that the "tagged expression"
error doesn't occur with -fstack-check but I don't know how to fix
that type of error just yet.  What exactly does it imply in this
context?


Finally, I get lots of warnings like this with '-fstack-check':

/usr/src/Debian/Ada/GPS/3.1.3-3/gnat-gps-3.1.3/gps/src/gps-main.adb:1676:
warning: frame size too large for reliable stack checking


How can I increase whatever limit it's using to determine that the
frame size is too large?




-- 
Kevin Brown                                           [EMAIL PROTECTED]


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to