Gentlemen,
I'm a new poster to the mail list. I have a problem logging call stack trace info following an exception.
The following simple program generates a divide by zero error.

PROGRAM Test;
VAR i, j, k : Integer;
PROCEDURE test1;
   BEGIN
     i := i - 1;
     k := j DIV i;
   END; {test}

PROCEDURE test2;
   BEGIN
     test1;
   END; {taskProc}

BEGIN
  i := 1; j := 1;
  test2;
END.

When compiled and run under Windows it generates the stack trace:
Runtime error 200 at $00401404
  $00401404  TEST1,  line 6 of test.pas
  $00401428  TEST2,  line 11 of test.pas
  $00401451  main,  line 16 of test.pas
  $004077D1

Which is what you would expect. When compiled and run on an ARM processor under Linux (Debian Jessie) it generates the stack trace:
Runtime error 200 at $000101AC
  $000101AC  TEST2,  line 11 of test.pas
  $000101E0  main,  line 16 of test.pas
  $00010118

Ie. it does not contain the reference to the actual line which caused the problem. The first entry is to the return address of the faulting procedure.

The same compile options are used for both and include the -gl option. FPC version is 2.6.4.

Anyone have any idea why this happens or more usefully how the Linux result can be fixed ?

Thanks,
Terry






---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to