Ludo Brands wrote:
The speed of emulated or low-resource systems is obviously a
problem- I
put some informal benchmarks on the wiki page I did a few
weeks ago when
I was putting Qemu on a development system with ARM, Mipsel and so on.
Do you have an Url for that page?
http://wiki.lazarus.freepascal.org/Qemu_and_other_emulators although I
suspect that there's not much in it that you're not doing already. I
hacked it together when I was setting up the system since it's probably
not every day that somebody does it from scratch. Benchmarks on the
discussion page.
On Qemu sparc I'm stuck with debian etch (gdb too old => dead lock with
lazarus) since lenny is compiled for v8+. Display is limited at 8-bit which
lazarus doesn't support. Only solution that is working for me is a reverse
ssh tunnel, tunneling X11 and no encryption (else ssh and sshd cpu usage
goes through the roof with lazarus).
Similar solution for Qemu arm where the low screen resolution of the
versatilePB platform makes running lazarus impossible. On arm lenny is
running and debugging in lazarus works fine.
But in the case of SPARC-on-Qemu you should be able to use VNC
(specifically, Debian's vnc4server package), in conjunction with FluxBox
as desktop/wm it's fairly lean and performs well. The machine in front
of me is a (real) SPARC running Etch, thanks to your patches
0.9.30+2.4.2 are now running fine on it so there's a fair chance the
same would apply to an emulated system; I'm in no great hurry to update
this system to a later OS but am overdue for going round everything and
getting onto 2.4.4.
ARM is more of a problem since vnc4server is not ported to it, I believe
that there are some ARM-specific problems in the VNC sources. There's a
different server that does run on it (from memory, tightvncserver) but
it appears to be hardcoded to expect the display manager to be xdm- I
prefer gdm since it's the only one with a reliable XDMCP implementation.
In either case you /should/ be able to connect to the system using
XDMCP, e.g. using Xnest on your local system and gdm+FluxBox on the
headless one, subject to your network setup since XDMCP is a UDP-based
protocol which implies that broadcasts don't route well. However at one
time (I don't know whether this is fixed) Lazarus and some other apps
performed very badly using networked X, my recollection is that the
consensus was that there was excessive input-device polling.
So if I understand that correctly, that define is telling the
compiler
that it should always arrange data structures so that fields are
aligned. It's obviously not in control of structures which
are forced in
some way, or of explicit pointer arithmetic.
The other way around. The compiler aligns data for all processors even when
it is not mandatory for the processor. This is for speed. The packed
directive tells the compiler to not align the data. The compiler sets
FPC_REQUIRES_PROPER_ALIGNMENT for the programmer. He should use this to
conditionally define packed structures or think twice when casting fe. pchar
to pword.
Thanks, noted.
--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk
[Opinions above are the author's, not those of his employers or colleagues]
--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus