View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0020362||Packages||Database||public||2011-09-28 15:31||2011-10-11 17:18|
|Reporter||Tommi Prami||Assigned To||Vincent Snijders|
|Product Version||0.9.30.1 (SVN)|
|Fixed in Version||0.9.31 (SVN)|
|Summary||0020362: dwarf debug information causes problems in WinCE|
|Description||If I add sqlite3laz package into project stops from Compiling|
Error is :
C:\lazarus\components\sqlite\sqlitecomponenteditor.pas(63,58) Hint: Parameter "User" not used
C:\lazarus\components\sqlite\lib\arm-wince\wince\sqlitecomponenteditor.s: Assembler messages:
C:\lazarus\components\sqlite\lib\arm-wince\wince\sqlitecomponenteditor.s:2718: Error: unknown pseudo-op: `.secrel32'
C:\lazarus\components\sqlite\lib\arm-wince\wince\sqlitecomponenteditor.s:2726: Error: unknown pseudo-op: `.secrel32'
C:\lazarus\components\sqlite\sqlitecomponenteditor.pas(332) Error: Error while assembling exitcode 1
C:\lazarus\components\sqlite\sqlitecomponenteditor.pas(332) Fatal: There were 2 errors compiling module, stopping
|Additional Information||Lazarus Revision : 32543 |
FPC : 2.4.4
Test App included. Just Open the Project and try to build it
|Tags||No tags attached.|
|Fixed in Revision|
SqLiteTest.zip (127,523 bytes)
Got the Comment that this is FPC issue. Is there an workaround or is there new FPC (Unstable) release that supports the WinCE platform?
||(and Could someone Confirm this, or is this just something wrong in my system...)|
Workaround from Ludo Brands (Thanks man!!!)
"In Lazarus Package/Open Package File select sqlite3laz.lpk in the
components\sqlite directory, click on options and in CompilerOptions/Linking
select stabs. Close and compile. This should compile fine. When compiling
your project the package won't be rebuild."
Works... At least when the Culprit is some package... Hope this would get Official fix to either support the Dwarf-debug info on WinCE (or some other way...)
The background for the workaround:
- .secrel32 pseudo code is used only for dwarf debug code. According to gas and gcc mailing lists .secrel32 was pretty much invented for dwarf. Support for .secrel32 was introduced in gas 2.16. The arm cross assembler provided with fpc 2.4.4 for wince is 2.15.94. So the 2.4.4 wince platform doesn't support dwarf debugging info.
- latest lazarus defaults to dwarf debug info and even when the project options specify stab or no debug info, automatically compiled packages are compiled with dwarf. Compiling manually the package with stabs is just a workaround to avoid automatic recompiling.
||Can you test with a fpc 2.5.1 based snapshot? They have newer binutils, that might support this assembler?|
The arm cross assembler is still 2.15.94 in the fpc 2.5.1 based snapshot.
It works fine with the binutils version 22.214.171.12490204 found here: http://sourceforge.net/projects/cegcc. It requires a few cygwin dll's and using the external linker. The internal linker fails with "Failed reading coff file, illegal reloctype $000F while reading xxx". I guess this is the .secrel32 reloctype.
I didn't find any self contained cross assembler for wince newer than the one distributed with fpc. All ARM cross assembling seems to focus on EABI.
Ludo, thanks for testing. I assumed that the Lazarus snapshots used the latest from fpcbuild repository, but I had to copy them on the correct location on the build machine. I just did that.
Ludo and Tommi, can you test with the new snapshots?
||New arm-wince-as.exe (version 2.21.1) works fine with dwarf. External linker is also needed here. 2.5.1 also throws "illegal reloctype $000F " errors.|
||I will close this issue. I suggest you open a new issue in the fpc project for the internal linker for arm-wince, if such an issue doesn't yet.|
|2011-09-28 15:31||Tommi Prami||New Issue|
|2011-09-28 15:31||Tommi Prami||File Added: SqLiteTest.zip|
|2011-09-28 15:31||Tommi Prami||Widgetset||=> WinCE|
|2011-09-29 13:30||Tommi Prami||Note Added: 0052277|
|2011-09-29 13:31||Tommi Prami||Note Added: 0052278|
|2011-10-07 08:35||Tommi Prami||Note Added: 0052703|
|2011-10-07 09:03||Ludo Brands||Note Added: 0052707|
|2011-10-07 10:35||Felipe Monteiro de Carvalho||LazTarget||=> 0.99.0|
|2011-10-07 10:35||Felipe Monteiro de Carvalho||Status||new => acknowledged|
|2011-10-07 11:03||Felipe Monteiro de Carvalho||Summary||WinCE app with the sqlite3laz package wont compile => dwarf debug information causes problems in WinCE|
|2011-10-07 15:44||Vincent Snijders||Relationship added||related to 0020029|
|2011-10-11 00:55||Vincent Snijders||Note Added: 0052846|
|2011-10-11 00:55||Vincent Snijders||Status||acknowledged => feedback|
|2011-10-11 00:55||Vincent Snijders||Target Version||=> 0.99|
|2011-10-11 10:15||Ludo Brands||Note Added: 0052855|
|2011-10-11 11:49||Vincent Snijders||Note Added: 0052861|
|2011-10-11 16:55||Ludo Brands||Note Added: 0052869|
|2011-10-11 17:18||Vincent Snijders||Status||feedback => resolved|
|2011-10-11 17:18||Vincent Snijders||Fixed in Version||=> 0.9.31 (SVN)|
|2011-10-11 17:18||Vincent Snijders||Resolution||open => fixed|
|2011-10-11 17:18||Vincent Snijders||Assigned To||=> Vincent Snijders|
|2011-10-11 17:18||Vincent Snijders||Note Added: 0052871|