comp.lang.ada
 help / color / mirror / Atom feed
* DPMI exception GNAT ofr DOS
@ 2000-10-06  0:00 fabien_bousquet
  2000-10-06  0:00 ` Gautier
  0 siblings, 1 reply; 7+ messages in thread
From: fabien_bousquet @ 2000-10-06  0:00 UTC (permalink / raw)


HI,
I have compiled an ADA95 program with the GNAT 3.12p for DOS.
When I have tried to run it, it sends me a message asking me a DPMI
driver.
I have installed and run a DPMI GNU program "csdpmi...".
My program is not running anyway, it is now throwing a 80386 exception
(not an Ada exception).
Is someone knows a solution ?

Thanks in advance,
Fabien Bousquet


Sent via Deja.com http://www.deja.com/
Before you buy.




^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: DPMI exception GNAT ofr DOS
  2000-10-06  0:00 DPMI exception GNAT ofr DOS fabien_bousquet
@ 2000-10-06  0:00 ` Gautier
  2000-10-06  0:00   ` Gautier
  0 siblings, 1 reply; 7+ messages in thread
From: Gautier @ 2000-10-06  0:00 UTC (permalink / raw)


> I have installed and run a DPMI GNU program "csdpmi...".

Yes, you needed a DPMI server. Note that Windows (all versions since 3.1)
provides such a server: if you run from Windows you don't need cwsdpmi.

> My program is not running anyway, it is now throwing a 80386 exception
> (not an Ada exception).
> Is someone knows a solution ?

My guess: you define an array as a variable on stack
e.g. a: array(1..1000000) of integer, and it hits the
fixed limit of stack for DJGPP programs (256KB by default).
Remedy: allocate with an access (a:= New ...), which is
"unlimited", or augment the stack size with the "stubedit"
tool (bof...).

G.




^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: DPMI exception GNAT ofr DOS
  2000-10-06  0:00 ` Gautier
@ 2000-10-06  0:00   ` Gautier
  2000-10-06  0:00     ` fabien_bousquet
  0 siblings, 1 reply; 7+ messages in thread
From: Gautier @ 2000-10-06  0:00 UTC (permalink / raw)


> My guess: you define an array as a variable on stack

a *big* array, I meant... G.




^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: DPMI exception GNAT ofr DOS
  2000-10-06  0:00   ` Gautier
@ 2000-10-06  0:00     ` fabien_bousquet
  2000-10-06  0:00       ` Gautier
  0 siblings, 1 reply; 7+ messages in thread
From: fabien_bousquet @ 2000-10-06  0:00 UTC (permalink / raw)


In article <39DDDB92.370690B9@maths.unine.ch>,
  Gautier <gautier.demontmollin@maths.unine.ch> wrote:
> > My guess: you define an array as a variable on stack
>
> a *big* array, I meant... G.
>
It is not really the case but my application is an instrumented
application and for each function, there is a nested function.
E.G. :
function f is
function DEBUG_f is
begin
...
end
begin
...
DEBUG_f
...
end
Perhaps the compiler is using some stack for the nested function.

Anyway the error I have is an error which is thrown during the
elaboration of the interrupt handler :
system.interrupt_management.operations._elab() which is called by the
function adainit.
It is a SIGVEC.
So this error is produced, I think, before the elaboration of my
application.

Thanks,
Fabien


Sent via Deja.com http://www.deja.com/
Before you buy.




^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: DPMI exception GNAT ofr DOS
  2000-10-06  0:00     ` fabien_bousquet
@ 2000-10-06  0:00       ` Gautier
  2000-10-09  0:00         ` fabien_bousquet
  0 siblings, 1 reply; 7+ messages in thread
From: Gautier @ 2000-10-06  0:00 UTC (permalink / raw)


This can not be due to a nested function - but do you program
interrupts ? GNAT for *DOS* is not fully compliant and
you may need a non-standard way (there is a package) to do it.
Write me for details... Or try the gnatlist mailing list
-> http://lyris.seas.gwu.edu

G.




^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: DPMI exception GNAT ofr DOS
  2000-10-06  0:00       ` Gautier
@ 2000-10-09  0:00         ` fabien_bousquet
  2000-10-09  0:00           ` gdemont
  0 siblings, 1 reply; 7+ messages in thread
From: fabien_bousquet @ 2000-10-09  0:00 UTC (permalink / raw)


In article <39DDF045.6CFBE1C2@maths.unine.ch>,
  Gautier <gautier.demontmollin@maths.unine.ch> wrote:
> This can not be due to a nested function - but do you program
> interrupts ? GNAT for *DOS* is not fully compliant and
> you may need a non-standard way (there is a package) to do it.
> Write me for details... Or try the gnatlist mailing list
> -> http://lyris.seas.gwu.edu
>
> G.
>
I have no hardware interruptions but I have 5 tasks with priorities and
one of my task could interrupt the other ones.
I am not sure but because it seems that my code has not begun to be
executed I am thinking that my problem could be linked to a compiler
bug.
Perhaps I have problem because I have installed the GNAT 3.12p on the
GNAT 3.10p.
Another possibility is a problem with the memory manager (DPMI).
It could be linked with a problem of stack ?

Thanks,
Fabien


Sent via Deja.com http://www.deja.com/
Before you buy.




^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: DPMI exception GNAT ofr DOS
  2000-10-09  0:00         ` fabien_bousquet
@ 2000-10-09  0:00           ` gdemont
  0 siblings, 0 replies; 7+ messages in thread
From: gdemont @ 2000-10-09  0:00 UTC (permalink / raw)



> I am not sure but because it seems that my code has not begun to be
> executed I am thinking that my problem could be linked to a compiler
> bug.
> Perhaps I have problem because I have installed the GNAT 3.12p on the
> GNAT 3.10p.
> Another possibility is a problem with the memory manager (DPMI).
> It could be linked with a problem of stack ?

Compiler bug is doubtful, but maybe the library has
problems around tasking. The DOS port of GNAT is not a
supported, official one.
Can you build a minimal program that also craches ?
Did you try "stubedit xyz.exe minstack=1M" or such ?
BTW you'd better to subscribe to gnatlist and ask your
questions there: http://lyris.seas.gwu.edu !

HTH G.


Sent via Deja.com http://www.deja.com/
Before you buy.




^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2000-10-09  0:00 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-10-06  0:00 DPMI exception GNAT ofr DOS fabien_bousquet
2000-10-06  0:00 ` Gautier
2000-10-06  0:00   ` Gautier
2000-10-06  0:00     ` fabien_bousquet
2000-10-06  0:00       ` Gautier
2000-10-09  0:00         ` fabien_bousquet
2000-10-09  0:00           ` gdemont

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