comp.lang.ada
 help / color / mirror / Atom feed
* Finding library call information (GNAT-Linux)
@ 2004-08-30 20:21 Carl Franklin
  2004-08-30 21:29 ` David C. Hoos
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Carl Franklin @ 2004-08-30 20:21 UTC (permalink / raw)


We are chasing some problems... that are rather interesting...

The environment - is a Simulation...

  containing a Robot arm, etc...

  We are on a multi-processor system (2 Pentium IIIs)

  Now, when a particular version of the arm was delivered - constraint
errors - typically having to do with double precision floating point
started occuring... (very intermittently)... and when they occur... they
occur in *flurries*...

  The personnel *instrumented* the code - and the results are very squirelly...

  Constaint Errors being returned for zero (a valid value) - other
times... constraint errors on a number (0 <- zero and by this I mean
0.0)... multiplied by another number - returning some really interesting
values...

  The suspicion is that a driver might be stomping on a register -
however, that doesn't seem all that reasonable...

  Then, we created a little Double Precision test - and ran this as a
seperate process - runs for forever... or seemingly so... with no
problems...

  Then, we ran this little DP process while the Real-Time simulation was
active... and low & behold... intermittent errors (constraint problems)...

  Trying to delve deeper - I was given the assembly source for the program
- and am trying to instrument at a *somewhat lower* level (smile)... than
we can do from ADA code...

  Getting the assembly listing - there are several *calls*... that appear
to be ada/system libraries.  The *system* is not Linux system - as the
text strings are not found going through Linux source repository *free
text* searches (or identifier searches)...  So, perhaps they are *Ada
System* interfaces...

  I am wondering where to find information about the calls and the results
I should expect... (what the heck they are doing)...

specifically the following calls are of interests...
     system__arith_64__multiply_with_ovflo_check
     _gnat_stack_check
     system__secondary_stack__ss_allocate

and several others...

  I'm wondering - where I can find the *source* or documentation on this
*called* routines...  So, I'll be able to completely understand the flow
within the assembly code...

Thank You for Any assistance!,
Carl R. Franklin

-- 
                                        Just me,
                                        Carl R. Franklin
***********---------------************-----------------************
There is never a need to outrun anything you can outwit - Garfield (the cat)
***********---------------************-----------------************



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

* Re: Finding library call information (GNAT-Linux)
  2004-08-30 20:21 Finding library call information (GNAT-Linux) Carl Franklin
@ 2004-08-30 21:29 ` David C. Hoos
  2004-08-30 22:04 ` Carl Franklin
  2004-08-31 12:56 ` Georg Bauhaus
  2 siblings, 0 replies; 4+ messages in thread
From: David C. Hoos @ 2004-08-30 21:29 UTC (permalink / raw)
  To: comp.lang.ada@ada.eu.org

It is really difficult to answer questions like this which do not
identify the hardware platform, OS version, and compiler
version, but since we're talking about _some_ version of gnat,
we can determine the following:

The names with double underscores represent the link names of
Ada subprograms as indicated by the many examples in the
Gnat User Guide.  The gnat source code for the subprograms
in question documents in code and in comments what the
subprograms do.

For the name with only single underscores, a grep of the files
in the adainclude directory reveals that it is the link name of
a gnat subprogram exported so it can be called from C code.
Here, again, what the subprogram does is documented in the
source code.

Hope this helps

----- Original Message ----- 
From: "Carl Franklin" <CarlR-junk@houston.rr.com>
Newsgroups: comp.lang.ada
To: <comp.lang.ada@ada-france.org>
Sent: Monday, August 30, 2004 3:21 PM
Subject: Finding library call information (GNAT-Linux)


> We are chasing some problems... that are rather interesting...
>
> The environment - is a Simulation...
>
>   containing a Robot arm, etc...
>
>   We are on a multi-processor system (2 Pentium IIIs)
>
>   Now, when a particular version of the arm was delivered - constraint
> errors - typically having to do with double precision floating point
> started occuring... (very intermittently)... and when they occur... they
> occur in *flurries*...
>
>   The personnel *instrumented* the code - and the results are very
squirelly...
>
>   Constaint Errors being returned for zero (a valid value) - other
> times... constraint errors on a number (0 <- zero and by this I mean
> 0.0)... multiplied by another number - returning some really interesting
> values...
>
>   The suspicion is that a driver might be stomping on a register -
> however, that doesn't seem all that reasonable...
>
>   Then, we created a little Double Precision test - and ran this as a
> seperate process - runs for forever... or seemingly so... with no
> problems...
>
>   Then, we ran this little DP process while the Real-Time simulation was
> active... and low & behold... intermittent errors (constraint problems)...
>
>   Trying to delve deeper - I was given the assembly source for the program
> - and am trying to instrument at a *somewhat lower* level (smile)... than
> we can do from ADA code...
>
>   Getting the assembly listing - there are several *calls*... that appear
> to be ada/system libraries.  The *system* is not Linux system - as the
> text strings are not found going through Linux source repository *free
> text* searches (or identifier searches)...  So, perhaps they are *Ada
> System* interfaces...
>
>   I am wondering where to find information about the calls and the results
> I should expect... (what the heck they are doing)...
>
> specifically the following calls are of interests...
>      system__arith_64__multiply_with_ovflo_check
>      _gnat_stack_check
>      system__secondary_stack__ss_allocate
>
> and several others...
>
>   I'm wondering - where I can find the *source* or documentation on this
> *called* routines...  So, I'll be able to completely understand the flow
> within the assembly code...
>
> Thank You for Any assistance!,
> Carl R. Franklin
>
> -- 
>                                         Just me,
>                                         Carl R. Franklin
> ***********---------------************-----------------************
> There is never a need to outrun anything you can outwit - Garfield (the
cat)
> ***********---------------************-----------------************
> _______________________________________________
> comp.lang.ada mailing list
> comp.lang.ada@ada-france.org
> http://www.ada-france.org/mailman/listinfo/comp.lang.ada
>




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

* Re: Finding library call information (GNAT-Linux)
  2004-08-30 20:21 Finding library call information (GNAT-Linux) Carl Franklin
  2004-08-30 21:29 ` David C. Hoos
@ 2004-08-30 22:04 ` Carl Franklin
  2004-08-31 12:56 ` Georg Bauhaus
  2 siblings, 0 replies; 4+ messages in thread
From: Carl Franklin @ 2004-08-30 22:04 UTC (permalink / raw)


A gentleman wrote - and told me where to find the source of the run-time
includes... Thanks very much to him! :)

Carl...


In article <CarlR-junk-3008041521580001@192.168.1.101>,
CarlR-junk@houston.rr.com (Carl Franklin) wrote:

> We are chasing some problems... that are rather interesting...
> 
> The environment - is a Simulation...
> 
>   containing a Robot arm, etc...
> 
>   We are on a multi-processor system (2 Pentium IIIs)
> 
>   Now, when a particular version of the arm was delivered - constraint
> errors - typically having to do with double precision floating point
> started occuring... (very intermittently)... and when they occur... they
> occur in *flurries*...
> 
>   The personnel *instrumented* the code - and the results are very
squirelly...
> 
>   Constaint Errors being returned for zero (a valid value) - other
> times... constraint errors on a number (0 <- zero and by this I mean
> 0.0)... multiplied by another number - returning some really interesting
> values...
> 
>   The suspicion is that a driver might be stomping on a register -
> however, that doesn't seem all that reasonable...
> 
>   Then, we created a little Double Precision test - and ran this as a
> seperate process - runs for forever... or seemingly so... with no
> problems...
> 
>   Then, we ran this little DP process while the Real-Time simulation was
> active... and low & behold... intermittent errors (constraint problems)...
> 
>   Trying to delve deeper - I was given the assembly source for the program
> - and am trying to instrument at a *somewhat lower* level (smile)... than
> we can do from ADA code...
> 
>   Getting the assembly listing - there are several *calls*... that appear
> to be ada/system libraries.  The *system* is not Linux system - as the
> text strings are not found going through Linux source repository *free
> text* searches (or identifier searches)...  So, perhaps they are *Ada
> System* interfaces...
> 
>   I am wondering where to find information about the calls and the results
> I should expect... (what the heck they are doing)...
> 
> specifically the following calls are of interests...
>      system__arith_64__multiply_with_ovflo_check
>      _gnat_stack_check
>      system__secondary_stack__ss_allocate
> 
> and several others...
> 
>   I'm wondering - where I can find the *source* or documentation on this
> *called* routines...  So, I'll be able to completely understand the flow
> within the assembly code...
> 
> Thank You for Any assistance!,
> Carl R. Franklin

-- 
                                        Just me,
                                        Carl R. Franklin
***********---------------************-----------------************
There is never a need to outrun anything you can outwit - Garfield (the cat)
***********---------------************-----------------************



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

* Re: Finding library call information (GNAT-Linux)
  2004-08-30 20:21 Finding library call information (GNAT-Linux) Carl Franklin
  2004-08-30 21:29 ` David C. Hoos
  2004-08-30 22:04 ` Carl Franklin
@ 2004-08-31 12:56 ` Georg Bauhaus
  2 siblings, 0 replies; 4+ messages in thread
From: Georg Bauhaus @ 2004-08-31 12:56 UTC (permalink / raw)


Carl Franklin <CarlR-junk@houston.rr.com> wrote:

:  Now, when a particular version of the arm was delivered - constraint
: errors - typically having to do with double precision floating point

As a guess, there used to be issues with mixed sources code on Intel
compatibles, where GNAT is using the available fpt precision bits (80)
while some libraries have been compiled to use double precision (64).
(There is a subprogram somewhere in GNAT's library to set the fpt unit,
I can't at the moment remember the name.)


just my 2c,
Georg




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

end of thread, other threads:[~2004-08-31 12:56 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-08-30 20:21 Finding library call information (GNAT-Linux) Carl Franklin
2004-08-30 21:29 ` David C. Hoos
2004-08-30 22:04 ` Carl Franklin
2004-08-31 12:56 ` Georg Bauhaus

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