[Pkg-pascal-devel] Bug#813452: Bug#813452: fpc-3.0 regression in armhf and armel architectures

Abou Al Montacir abou.almontacir at sfr.fr
Sun Feb 21 23:32:26 UTC 2016


Hi Paul,

On Wed, 2016-02-17 at 22:26 +0100, Paul Gevers wrote:
> Hmm, I was a tiny little bit wrong earlier.
> 
> I modified hedgewars a tiny bit (patch attached) and build in on
> debomatic¹. You can see that the failing line reads:
> "Lua test file specified: /<<PKGBUILDDIR>>/tests/lua/hellfire_burns.lua"
...
> Anyways, it now fails for an access violation. I don't like this at all,
> but it is hard to say if this is a fpc error or hedgewars'.
I've tried some simpler code and it looks like the compilation options used by
hedgewars cause the issue. I don't know if this is normal or not but at least we
know now that it is not an issue in the code itself but rather in the
compilation flags.
I'm copying FPC core in case some one can help with the impact of the used
compilation flags.
Here are my experimentation:
I first created very small programs:
(sid_armel-dchroot)abou at abel:~/hedgewars-0.9.22-dfsg/obj-arm-linux-
gnueabi/hedgewars$ cat test1.pas 
program test;
begin
    WriteLn('Hello');
end.
(sid
_armel-dchroot)abou at abel:~/hedgewars-0.9.22-dfsg/obj-arm-linux-
gnueabi/hedgewars$ cat test2.pas 
program test;
begin
    WriteLn(stdout, 'Hello');
end.
(sid_armel-dchroot)abou at abel:~/hedgewars-0.9.22-dfsg/obj-arm-linux-
gnueabi/hedgewars$ 
I first compile using no special flags and both programs execute well:
(sid_armel-dchroot)abou at abel:~/hedgewars-0.9.22-dfsg/obj-arm-linux-gnueabi/hedgewars$ fpc test1
Free Pascal Compiler version 3.0.0+dfsg-2 [2016/01/28] for arm
Copyright (c) 1993-2015 by Florian Klaempfl and others
Target OS: Linux for ARMEL
Compiling test1.pas
Assembling test
Linking test1
/usr/bin/ld.bfd: warning: link.res contains output sections; did you forget -T?
4 lines compiled, 0.3 sec
(sid_armel-dchroot)abou at abel:~/hedgewars-0.9.22-dfsg/obj-arm-linux-gnueabi/hedgewars$ ./test1
Hello
(sid_armel-dchroot)abou at abel:~/hedgewars-0.9.22-dfsg/obj-arm-linux-gnueabi/hedgewars$ fpc test2
Free Pascal Compiler version 3.0.0+dfsg-2 [2016/01/28] for arm
Copyright (c) 1993-2015 by Florian Klaempfl and others
Target OS: Linux for ARMEL
Compiling test2.pas
Assembling test
Linking test2
/usr/bin/ld.bfd: warning: link.res contains output sections; did you forget -T?
4 lines compiled, 0.3 sec
(sid_armel-dchroot)abou at abel:~/hedgewars-0.9.22-dfsg/obj-arm-linux-gnueabi/hedgewars$ ./test2
Hello
Now, we use a subset of compilation flags from hedgewars and we can just
reproduce the issue on second program but not the first one:
(sid_armel-dchroot)abou at abel:~/hedgewars-0.9.22-dfsg/obj-arm-linux-gnueabi/hedgewars$ fpc -FU/home/abou/hedgewars-0.9.22-dfsg/obj-arm-linux-gnueabi/hedgewars/CMakeFiles/hwengine.dir -k-rpath -k'\$ORIGIN/../lib/:\$ORIGIN/:/usr/lib/hedgewars/lib/' -FD/usr/bin -Cs2000000 -fPIC -Fl/home/abou/hedgewars-0.9.22-dfsg/obj-arm-linux-gnueabi/bin -k-L/usr/lib/arm-linux-gnueabi -Fl/usr/lib/arm-linux-gnueabi -Fl/usr/lib/arm-linux-gnueabi -XLAlua=lua5.1 -Fl/usr/lib/arm-linux-gnueabi/libphysfs.so -O2 -g -gl -gp   -dUSE_VIDEO_RECORDING -dPNG_SCREENSHOTS -dSDL_MIXER_NEWER -dSDL_IMAGE_NEWER -dDEBUGFILE  test1    
Free Pascal Compiler version 3.0.0+dfsg-2 [2016/01/28] for arm
Copyright (c) 1993-2015 by Florian Klaempfl and others
Target OS: Linux for ARMEL
Compiling test1.pas
Assembling test
Linking test1
/usr/bin/ld.bfd: warning: link.res contains output sections; did you forget -T?
4 lines compiled, 0.3 sec
(sid_armel-dchroot)abou at abel:~/hedgewars-0.9.22-dfsg/obj-arm-linux-gnueabi/hedgewars$ ./test1
Hello
(sid_armel-dchroot)abou at abel:~/hedgewars-0.9.22-dfsg/obj-arm-linux-gnueabi/hedgewars$ fpc -FU/home/abou/hedgewars-0.9.22-dfsg/obj-arm-linux-gnueabi/hedgewars/CMakeFiles/hwengine.dir -k-rpath -k'\$ORIGIN/../lib/:\$ORIGIN/:/usr/lib/hedgewars/lib/' -FD/usr/bin -Cs2000000 -fPIC -Fl/home/abou/hedgewars-0.9.22-dfsg/obj-arm-linux-gnueabi/bin -k-L/usr/lib/arm-linux-gnueabi -Fl/usr/lib/arm-linux-gnueabi -Fl/usr/lib/arm-linux-gnueabi -XLAlua=lua5.1 -Fl/usr/lib/arm-linux-gnueabi/libphysfs.so -O2 -g -gl -gp   -dUSE_VIDEO_RECORDING -dPNG_SCREENSHOTS -dSDL_MIXER_NEWER -dSDL_IMAGE_NEWER -dDEBUGFILE  test2
Free Pascal Compiler version 3.0.0+dfsg-2 [2016/01/28] for arm
Copyright (c) 1993-2015 by Florian Klaempfl and others
Target OS: Linux for ARMEL
Compiling test2.pas
Assembling test
Linking test2
/usr/bin/ld.bfd: warning: link.res contains output sections; did you forget -T?
4 lines compiled, 0.3 sec
(sid_armel-dchroot)abou at abel:~/hedgewars-0.9.22-dfsg/obj-arm-linux-gnueabi/hedgewars$ ./test2
Runtime error 103 at $000101C8
  $000101C8  $main,  line 3 of test2.pas
It is not clear for me why RTE 103 is thrown, in the second case but not in the
first one. I'd expect either both work or neither. Also I don't see what is the
impact of the compilation flags that are used. Maybe I should perform more
experimentations in order to find a smaller subset. but that will be enough for
tonight!
-- 
Cheers,
Abou Al Montacir
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/pkg-pascal-devel/attachments/20160222/7130ceea/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 213 bytes
Desc: This is a digitally signed message part
URL: <http://lists.alioth.debian.org/pipermail/pkg-pascal-devel/attachments/20160222/7130ceea/attachment.sig>


More information about the Pkg-pascal-devel mailing list