Bug 41464 - [Qt][Symbian] Make ARM UDEB builds easier and robust
Summary: [Qt][Symbian] Make ARM UDEB builds easier and robust
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC S60 3rd edition
: P2 Normal
Assignee: Nobody
URL:
Keywords: Qt, QtTriaged
Depends on: 52835 52839
Blocks:
  Show dependency treegraph
 
Reported: 2010-07-01 07:33 PDT by Siddharth Mathur
Modified: 2011-02-22 00:11 PST (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Siddharth Mathur 2010-07-01 07:33:17 PDT
The current approach of using debug-webkit-patch-sbsv2.py to make ARM UDEB builds is a huge improvement over not having Debug builds at all, but is prone to bit rot. https://trac.webkit.org/wiki/BuildingQtOnSymbian

This is partly because the list of include/exclude source files in the Python script can get out of sync of trunk code pretty easily. Also, because no bots routinely do ARM UDEB compilation using the script. 

Some options to reduce developer headaches: 
- Figure out a way to use existing .pro or .pri files in trunk to manage the AllinOne generation logic
- Hook up debug-webkit-patch-sbsv2.py in its current form to a Buildbot, so that errors are caught on a daily basis

Any other ideas?
Comment 1 Janne Koskinen 2010-10-29 01:02:29 PDT
I have bad news. Using AllInOne.cpp files won't help anymore. 2GB is reached in 2.1 and trunk even if debug-webkit-patch-sbsv2.py is ran.
Could someone confirm this so I know it isn't just my env?
365 .o files totaling 1.3GB when using QtWebkit 2.1 branch.
Comment 2 Janne Koskinen 2010-10-29 01:05:32 PDT
(In reply to comment #1)
> 365 .o files totaling 1.3GB when using QtWebkit 2.1 branch.

Oops. I counted full dir with .d files in as well. number of .o is 182.
Comment 3 Janne Koskinen 2010-11-22 04:22:24 PST
Just quick update for those who desperately need debugging in Symbian.
You can use allinone.cpp files if you disable SVG. Then it fits to 2GB limit.
Comment 4 Iain Campbell 2011-01-12 03:19:38 PST
If using RVCT4 is an option, there are several choices to improve matters:

- RVCT4.1 now has a 64-bit version of the linker
- or use the compiler flag listed on http://bugreports.qt.nokia.com/browse/QTBUG-9999
- or the linker flag on the same bug

Of those, the second option (the compiler flag) is probably the best, although I haven't yet tried debugging the resulting binaries.
Comment 5 Siddharth Mathur 2011-02-21 13:39:17 PST
Fixed for me (when using trunk) due to the following improvements: 
a) --no-svg or --minimal should be used to reduce features
b) use RVCT 4.0 (or higher) for all builds, including UDEB 
c) Use 64-bit armlink.exe with a 64-bit OS to allow successfull linking
c) recent SBS (2.16.x) support the .slimdebug option which appends the flags Iainc mentions in Comment #4 to UDEB builds. Reduces symbol information by >50%
d) Carbide 3.2.x support improveed parsing of .sym symbol information in QtWebKit.dll, so it doesn't stall or OOM liked it used to

http://trac.webkit.org/wiki/BuildingQtOnSymbian
Comment 6 Janne Koskinen 2011-02-22 00:11:26 PST
(In reply to comment #5)
> Fixed for me (when using trunk) due to the following improvements: 
> a) --no-svg or --minimal should be used to reduce features
> b) use RVCT 4.0 (or higher) for all builds, including UDEB 
> c) Use 64-bit armlink.exe with a 64-bit OS to allow successfull linking
> c) recent SBS (2.16.x) support the .slimdebug option which appends the flags Iainc mentions in Comment #4 to UDEB builds. Reduces symbol information by >50%
> d) Carbide 3.2.x support improveed parsing of .sym symbol information in QtWebKit.dll, so it doesn't stall or OOM liked it used to
> 
> http://trac.webkit.org/wiki/BuildingQtOnSymbian

All great stuff but not available to public :S