[Lazarus] Single-stepping assembler

Mark Morgan Lloyd markMLl.lazarus at telemetry.co.uk
Mon Sep 12 11:33:24 CEST 2011


Martin wrote:
> On 11/09/2011 16:44, Mark Morgan Lloyd wrote:
>>
>>> - If it doesn't work without the dev/null  then it may be that your 
>>> system doesn't do none blocking read => but then it should return an 
>>> erro when trying to set that property on the handle.
>>
>> Without an explicit /dev/null it locks up as before.
>>
>>> - If it does work without the dev/null  then it would be intersting 
>>> (debugln) to find out what error occurs, and to see if it could be 
>>> made working somehow (without threads)
>>
>> With an explicit /dev/null it appears to work fine.
> 
> Ok at least a workaround....
> 
>>
>> Lazarus is still building for ARM, I'll report back when I know how 
>> that looks. I'll also check the exact kernel versions that the test 
>> systems have running, in case there's some problem.
>>
> 
> I'll see if I find the time => it should be simple to copy the code from 
> unit GDBMIClasses) TPseoudoTerminal.Open /Read and make a small test 
> app, that will open a pseudo terminal, set the handle to none-blocking 
> read, and call read on it => and test if read will block or not.


This system is not OK:

SPARC:	Linux pye-dev-04 2.6.26-2-sparc64 #1 Mon Jun 13 17:02:25 UTC 2011 
sparc64 GNU/Linux
	GNU gdb 6.8-debian


These systems are OK:

ARM:	Linux pye-dev-07a 2.6.32-5-versatile #1 Tue Mar 8 19:11:56 UTC 2011 
armv5tejl GNU/Linux
	GNU gdb (GDB) 7.0.1-debian

x86:	Linux pye-dev-02 2.6.32 #1 SMP Thu Dec 10 15:56:27 GMT 2009 i686 
GNU/Linux
	GNU gdb 6.8-debian

PPC:	Linux pye-dev-05 2.6.26-2-powerpc #1 Wed May 12 23:44:56 UTC 2010 
ppc GNU/Linux
	GNU gdb 6.8-debian

SPARC:	SunOS pye-dev-08 5.10 Generic_118833-17 sun4u sparc 
SUNW,Sun-Fire-280R Solaris
	GNU gdb 6.8


All above trunk (r32275 approx) with 2.4.4. Given that the problem is 
seen on SPARC Linux:

*  the fact that PPC is OK suggests that it's not an endianness issue.

*  the fact that SPARC on Solaris and ARM on Linux are OK suggests that 
it's not an alignment issue.

*  we also know that it's not directly associated with a kernel or gdb 
version.

I think that leaves the prime suspect being some constant that varies on 
a platform by platform basis. s/constant/value/ :-)

-- 
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]




More information about the Lazarus mailing list