Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-devel / 2010-12

parentfp changed to $parentfp

9 messages · 4 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Martin

It seems that the name of "parentfp" (used by neted procedures) depends on the dwarf version?

-gs and -gw => parentfp
-gw3 => $parentfp

Is there are reason, does the $ have a meaning?

thanks
Martin

Reply by email

Jonas Maebe
to Martin
Martin wrote 6 lines
It seems that the name of "parentfp" (used by neted procedures) depends on the dwarf version? -gs and -gw => parentfp -gw3 => $parentfp Is there are reason, does the $ have a meaning?

It's a bug in -gw3. "$" is an internal compiler convention for "non-programmer visible symbol".

Jonas

Reply by email

Jonas Maebe
to Jonas Maebe
Jonas Maebe wrote 11 lines
On 08 Dec 2010, at 22:32, Martin wrote: > It seems that the name of "parentfp" (used by neted procedures) depends on the dwarf version? > > -gs and -gw => parentfp > -gw3 => $parentfp > > Is there are reason, does the $ have a meaning? It's a bug in -gw3. "$" is an internal compiler convention for "non-programmer visible symbol".

Also, unless you are using a GDB version shipped with the latest Fedora, or built one yourself from GDB's Archer git repository, using -gw3 is only going to cause problems: a) it's not nearly as well tested as -gw2
b) it uses a bunch of DWARF features that are not supported by regular GDB releases yet

Jonas

Reply by email

Marc Weustink
to Jonas Maebe: It's a bug in -gw3. "$" is an internal compiler convention for "non-programmer visible…
Jonas Maebe wrote 11 lines
On 08 Dec 2010, at 22:32, Martin wrote: > It seems that the name of "parentfp" (used by neted procedures) depends on the dwarf version? > > -gs and -gw => parentfp > -gw3 => $parentfp > > Is there are reason, does the $ have a meaning? It's a bug in -gw3. "$" is an internal compiler convention for "non-programmer visible symbol".

isn't parentfp a "non-programmer visible symbol" ?

Marc

Reply by email

Pierre Free Pascal
to Marc Weustink

I added this pseudo-name a looong time ago
(lowercased as opposed to all uppercased
regular variables, at least at the start of
Free Pascal debugging capabilities...)

Its main purpose is to allow
the Text mode IDE (but I assume that this is also
true for Lazarus) to find the variables
of an outer function/procedure
when the debugger is in an internal (function local) frame.

So, in a given sense, it is a non-programmer
visible symbol, but to add a dollar in front of it might lead to problems within GDB as GDB uses
the dollar sign for its own internal variables
i.e. history or user defined variables
or special variables like
$_exitcode
$_siginfo for signal information on Unix-like OS's or $_tlb for thead local base on windows OS's

Thus, adding a dollar sign in front seems like a bad idea to me.

Pierre Muller

Show quoted text 29 lines
-----Message d'origine----- De : [mailto:fpc-devel- De la part de Marc Weustink Envoyé : jeudi 9 décembre 2010 00:41 À : FPC developers' list Objet : Re: [fpc-devel] parentfp changed to $parentfp On 8-12-2010 22:53, Jonas Maebe wrote: > > On 08 Dec 2010, at 22:32, Martin wrote: > >> It seems that the name of "parentfp" (used by neted procedures) depends on the dwarf version? >> >> -gs and -gw => parentfp >> -gw3 => $parentfp >> >> Is there are reason, does the $ have a meaning? > > It's a bug in -gw3. "$" is an internal compiler convention for "non- programmer visible symbol". isn't parentfp a "non-programmer visible symbol" ? Marc _______________________________________________ fpc-devel maillist - http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply by email

Martin
to Jonas Maebe: Also, unless you are using a GDB version shipped with the latest Fedora, or built one…
Jonas Maebe wrote
Also, unless you are using a GDB version shipped with the latest Fedora, or built one yourself from GDB's Archer git repository, using -gw3 is only going to cause problems: a) it's not nearly as well tested as -gw2 b) it uses a bunch of DWARF features that are not supported by regular GDB releases yet

I am not using it for production. But I am doing some testing on the IDE's gdb interface.
So I try to run the same apps with -gs, -gw, -gw3, compiled by different fpc versions, in different gdb versions...

Reply by email

Martin
to Pierre Free Pascal: I added this pseudo-name a looong time ago (lowercased as opposed to all uppercased…
Pierre Free Pascal wrote 10 lines
I added this pseudo-name a looong time ago (lowercased as opposed to all uppercased regular variables, at least at the start of Free Pascal debugging capabilities...) Its main purpose is to allow the Text mode IDE (but I assume that this is also true for Lazarus) to find the variables of an outer function/procedure when the debugger is in an internal (function local) frame.

That's how I found it. I am at the very very very start of writing a few tests for the IDE debugger code => and with dwarf3 it did fail on nested functions.

It does however work, if I adapt the IDE to try $parentfp

Reply by email

Jonas Maebe
to Martin: I am not using it for production. But I am doing some testing on the IDE's gdb interface.…
Martin wrote 13 lines
On 08 Dec 2010, at 22:53, Jonas Maebe wrote: > Also, unless you are using a GDB version shipped with the latest > Fedora, or built one yourself from GDB's Archer git repository, > using -gw3 is only going to cause problems: > a) it's not nearly as well tested as -gw2 > b) it uses a bunch of DWARF features that are not supported by > regular GDB releases yet > I am not using it for production. But I am doing some testing on the IDE's gdb interface. So I try to run the same apps with -gs, -gw, -gw3, compiled by different fpc versions, in different gdb versions...

-gw3 should only be used to test the compiler's DWARF3 output at this point. Changing an IDE based on that is not useful because -gw3 itself is not stable (so you may have to change the IDE again in the future, or add workarounds for bugs that will never make it to a released FPC version resulting unnecessary bulky code).

Jonas

Reply by email

Jonas Maebe
to Jonas Maebe
Jonas Maebe wrote
Changing an IDE based on that is not useful because -gw3 itself is not stable (so you may have to change the IDE again in the future, or add workarounds for bugs that will never make it to a released FPC version resulting unnecessary bulky code).

Correction: that will never make to an FPC version that has release- quality DWARF3 support.

Jonas

Reply by email