[fpc-pascal]Strange compilation problems
Gabor DEAK JAHN
djg at argus.vki.bke.hu
Fri Dec 29 23:33:27 CET 2000
At 12/29/2000 06:30, you wrote:
Dear Peter,
> It then uses GNU binutils as (called asw.exe for win32) assembler to create
the object
> file instead of the internal object writer
> But the code differences (except jmp labels and absolute offsets) shouldn't
be that much
> when you compare a dissamble (objdumpw.exe --disassemble) of the 2 object
files.
Good point, I forgot about OBJDUMPW. I checked the two EXEs and indeed the
differences are minor (apart from the addresses, only a small but not
important difference in setting up the jump tables for DLL-imported
functions). Still, one program works, the other does not. This and the fact
that adding and removing variables can make or break the program lead to a
suspicion about variable alignment. And in my later checks, this proved true.
I tried to pad all my variables with additional ones to make sure that all
of them fall on 8-byte or 16-byte boundaries and lo and behold, both
versions (with and without -al) started to work all right. Now the remaining
question is whether I can force FPC to align all (important) variables on
such boundaries -- the real program would contain too many variables to make
manual padding feasible.
Bye,
Gábor
-------------------------------------------------------------------
Gabor DEAK JAHN -- Budapest, Hungary.
E-mail: djg at tramontana.co.hu, djg at argus.vki.bke.hu
More information about the fpc-pascal
mailing list