ROM Tools 13.1.0.1
Bug468 initialized static data built into a static library does not get initialized correctly
{\rtf1\ansi \deff4\deflang1033{\fonttbl{\f1\froman\fcharset2\fprq2 Symbol;}{\f4\froman\fcharset0\fprq2 Times New Roman;}{\f5\fswiss\fcharset0\fprq2 Arial{\*\falt arial};}{\f37\fmodern\fcharset0\fprq1 Lucida Console;}}
{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;
\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{\widctlpar \f4\fs20\lang2057 \snext0 Normal;}{\s1\sb360\sa240\keepn\pagebb\widctlpar \b\f5\fs40\lang2057\kerning28
\sbasedon0\snext0 heading 1;}{\s2\sb120\keepn\widctlpar\brdrt\brdrth\brdrw30\brsp20 \tqr\tx9072 \b\f5\fs34\lang2057 \sbasedon0\snext0 heading 2;}{\s3\sb120\keepn\widctlpar\brdrt\brdrs\brdrw30\brsp20 \tqr\tx9072 \b\f5\fs28\lang2057 \sbasedon0\snext0
heading 3;}{\s4\sb120\keepn\widctlpar\brdrt\brdrs\brdrw15\brsp20 \tqr\tx9072 \b\f5\lang2057 \sbasedon0\snext0 heading 4;}{\s5\keepn\widctlpar \b\f5\fs20\lang2057 \sbasedon0\snext0 heading 5;}{\s6\sb240\sa60\widctlpar \i\f5\fs20\lang2057 \sbasedon0\snext0
heading 6;}{\s7\sb240\sa60\widctlpar \f5\fs20\lang2057 \sbasedon0\snext0 heading 7;}{\s8\sb240\sa60\widctlpar \i\f5\fs20\lang2057 \sbasedon0\snext0 heading 8;}{\s9\sb240\sa60\widctlpar \i\f5\fs18\lang2057 \sbasedon0\snext0 heading 9;}{\*\cs10 \additive
Default Paragraph Font;}{\s15\widctlpar\tx567\tx1134\tx1701\tx2268\tx2835\tx3402\tx3969\tx4536\tx5103\tx5670 \f37\fs16\lang2057 \sbasedon0\snext15 Code Paragraph;}{\*\cs16 \additive\f37\lang2057 \sbasedon10 Code;}{\*\cs17 \additive\i \sbasedon10
Emphasis;}{\*\cs18 \additive\b \sbasedon10 Warning;}{\s19\li567\keep\widctlpar\tx567\tx1134\tx1701\tx2268\tx2835\tx3402\tx3969\tx4536 \f37\fs20\lang1024 \sbasedon0\snext19 Indented Code;}{\s20\fi-284\li568\ri567\widctlpar{\*\pn \pnlvl11
\ulth\pnf1\pnstart1\pnindent283\pnhang{\pntxtb \'b7}}\f4\fs20\lang2057 \sbasedon21\snext20 List Bullet;}{\s21\fi-284\li851\ri567\widctlpar \f4\fs20\lang2057 \sbasedon0\snext21 List;}{\s22\li567\ri567\widctlpar \f4\fs20\lang2057 \sbasedon0\snext22
List Continue;}{\s23\fi-284\li568\ri567\widctlpar{\*\pn \pnlvl10\pndec\ulth\pnstart1\pnindent283\pnhang{\pntxta .}}\f4\fs20\lang2057 \sbasedon21\snext23 List Number;}{\s24\qc\widctlpar \f4\fs20\lang2057 \sbasedon0\snext24 Picture;}{
\s25\qc\sb240\sa240\widctlpar \b\f5\fs72\lang2057 \sbasedon0\snext25 Title;}{\s26\widctlpar\phmrg\posxr\posyt\dxfrtext181\dfrmtxtx181\dfrmtxty0 \f4\fs20\lang2057 \sbasedon0\snext26 Logo;}{\s27\sb1440\sa1200\sl-460\slmult0\widctlpar
\b\scaps\f5\fs40\lang2057 \sbasedon0\snext27 Subtitle;}{\s28\sl-200\slmult0\widctlpar \b\f5\fs20\lang2057 \sbasedon0\snext28 Version;}{\s29\widctlpar \f4\fs20\lang2057 \sbasedon0\snext29 Date Published;}{\s30\widctlpar \b\f4\fs20\lang2057
\sbasedon0\snext30 Copyright Header;}{\s31\widctlpar \f4\fs20\lang2057 \sbasedon0\snext31 Copyright Notice;}{\s32\sa1440\sl-960\slmult0\keepn\widctlpar \b\scaps\f5\fs40\lang2057 \sbasedon0\snext32 TOC Header;}{\s33\sb480\sa160\keepn\widctlpar\brdrt
\brdrs\brdrw30\brsp20 \tqr\tx9072 \b\f4\fs20\lang2057 \sbasedon0\snext0 toc 1;}{\s34\li221\sb120\keepn\widctlpar\tqr\tx9072 \f4\fs20\lang2057 \sbasedon0\snext0 toc 2;}{\s35\li442\widctlpar\tqr\tx9072 \f5\fs20\lang2057 \sbasedon0\snext0 toc 3;}{
\s36\li658\widctlpar\tqr\tx9072 \f4\fs20\lang2057 \sbasedon0\snext0 toc 4;}{\*\cs37 \additive\f5\uld\cf11 \sbasedon10 Hypertext Link;}{\s38\widctlpar\brdrr\brdrdb\brdrw15\brsp20 \f37\fs20\lang2057 \sbasedon0\snext38 Constant Definition;}{
\s39\widctlpar\tqc\tx4536\tqr\tx9072 \f4\fs18\lang2057 \sbasedon0\snext39 header;}{\s40\widctlpar\brdrt\brdrs\brdrw15\brsp20 \tqc\tx4536\tqr\tx9072 \f4\fs20\lang2057 \sbasedon0\snext40 Even Footer Paragraph;}{\s41\widctlpar\tqc\tx4536\tqr\tx9072
\caps\f4\fs18\lang2057 \sbasedon0\snext41 Even Header Paragraph;}{\s42\widctlpar\brdrt\brdrs\brdrw15\brsp20 \tqc\tx4536\tqr\tx9072 \f4\fs18\lang2057 \sbasedon39\snext42 footer;}{\*\cs43 \additive\b \sbasedon10 page number;}{\s44\widctlpar\brdrt
\brdrs\brdrw15\brsp20 \tqc\tx4536\tqr\tx9072 \f4\fs20\lang2057 \sbasedon0\snext44 Odd Footer Paragraph;}{\s45\widctlpar\tqc\tx4536\tqr\tx9072 \caps\f4\fs18\lang2057 \sbasedon0\snext45 Odd Header Paragraph;}{\s46\widctlpar\brdrl\brdrth\brdrw30\brsp80
\f4\fs20\lang2057 \sbasedon0\snext46 Status;}{\*\cs47 \additive\i \sbasedon10 Glossary Reference;}{\s48\widctlpar \f4\fs20\lang2057 \sbasedon0\snext48 Compact;}{\*\cs49 \additive\f5 \sbasedon10 App Text;}{\s50\sb240\sa240\keepn\widctlpar
\b\f5\fs40\lang2057\kerning28 \sbasedon1\snext50 Heading 1 NoSection;}{\*\cs51 \additive\f5 \sbasedon10 Filename;}{\s52\fi-284\li1135\ri1134\widctlpar{\*\pn \pnlvl11\pnf1\pnstart1\pnindent283\pnhang{\pntxtb \'b7}}\f4\fs20\lang2057 \sbasedon0\snext52
List Bullet 2;}{\*\cs53 \additive\b \sbasedon10 Glossary Definition;}{\*\cs54 \additive\i \sbasedon10 Document Name;}{\s55\keep\keepn\widctlpar\tx567\tx1134\tx1701\tx2268\tx2835\tx3402\tx3969\tx4536\tx5103\tx5670 \f37\fs20\lang2057 \sbasedon0\snext0
Prototype;}{\*\cs56 \additive\scaps \sbasedon10 Key Name;}{\s57\widctlpar\tx567\tx1134\tx1701\tx2268\tx2835\tx3402\tx3969\tx4536\tx5103\tx5670 \f37\fs16\lang2057 \sbasedon0\snext57 Reduced Code;}{\s58\li851\ri851\keep\widctlpar\brdrt\brdrs\brdrw15\brsp20
\brdrb\brdrs\brdrw15\brsp20 \f4\fs20\lang2057 \sbasedon0\snext0 Syntax;}{\s59\qc\sb240\sa240\keepn\widctlpar \b\f5\fs20\lang2057 \sbasedon0\snext59 Picture Title;}{\s60\fi-3119\li3119\widctlpar\tx3119 \f4\fs20\lang2057 \sbasedon0\snext60 Member List;}{\*
\cs61 \additive\i \sbasedon10 Syntax Element;}{\*\cs62 \additive\b\f37 \sbasedon10 Syntax Literal;}{\s63\widctlpar \f4\fs20\lang2057 \sbasedon0\snext63 annotation text;}{\*\cs64 \additive\b\f5\uld\cf11 \sbasedon10 Example Link;}{\s65\widctlpar
\b\f5\fs36\lang2057 \sbasedon0\snext65 TOC 0;}{\*\cs66 \additive\f37\cf2\lang2057 \sbasedon16 Resource Code;}{\s67\widctlpar \f5\fs20\cf6\lang2057 \sbasedon0\snext67 Converter Directive;}{\s68\widctlpar \b\f37\fs20\uldb\lang2057 \sbasedon0\snext0
Platform Dependency;}{\*\cs69 \additive\b\cf10 \sbasedon10 Raw HTML;}{\*\cs70 \additive\i\cf14 \sbasedon10 URL Reference;}{\s71\widctlpar \f5\fs20\ul\cf13\lang2057 \sbasedon0\snext0 Hypertext Anchor;}{\s72\widctlpar\brdrr\brdrs\brdrw45\brsp20
\f4\fs20\lang2057 \sbasedon0\snext72 Member Definition;}{\s73\li567\ri567\widctlpar\brdrt\brdrs\brdrw15\brsp20 \brdrb\brdrs\brdrw15\brsp20 \f4\fs20\lang2057 \sbasedon0\snext73 Figure Picture;}{\s74\widctlpar\brdrl\brdrth\brdrw30\brsp80
\f4\fs20\cf5\lang2057 \sbasedon46\snext74 Comment;}{\s75\li567\ri567\widctlpar\brdrt\brdrs\brdrw15\brsp20 \brdrb\brdrs\brdrw15\brsp20 \b\f4\fs20\lang2057 \sbasedon0\snext75 Figure Caption;}{\s76\li567\ri567\widctlpar\brdrt\brdrs\brdrw15\brsp20 \brdrb
\brdrs\brdrw15\brsp20 \f4\fs20\lang2057 \sbasedon0\snext76 Figure Description;}{\s77\li567\ri567\widctlpar\brdrt\brdrs\brdrw15\brsp20 \brdrb\brdrs\brdrw15\brsp20 \f4\fs20\cf6\lang2057 \sbasedon73\snext77 Figure Status;}{\s78\li567\ri567\widctlpar\brdrt
\brdrs\brdrw15\brsp20 \brdrb\brdrs\brdrw15\brsp20 \f5\fs20\ul\cf13\lang2057 \sbasedon0\snext78 Figure Anchor;}{\*\cs79 \additive\f5\uld\cf12 \sbasedon37 Figure Link;}{\s80\li567\ri567\widctlpar\brdrt\brdrs\brdrw15\brsp20 \brdrb\brdrs\brdrw15\brsp20
\i\f4\fs20\cf10\lang2057 \sbasedon73\snext80 Figure Directive;}{\s81\widctlpar \f4\fs20\lang2057 \sbasedon0\snext81 Body Text;}}{\info{\title Tools}{\subject Specifying projects with makmake}{\author Preferred Customer}
{\doccomm The model chapter document.\'0d\'0dHeaders & footers are different for even and odd pages.}{\operator Preferred Customer}{\creatim\yr1996\mo3\dy6\hr13\min48}{\revtim\yr1999\mo9\dy6\hr16\min27}{\printim\yr1997\mo4\dy18\hr15\min6}{\version2}
{\edmins1}{\nofpages2}{\nofwords529}{\nofchars3018}{\*\company Dell Computer Corporation}{\vern57443}}\paperw11907\paperh16840\margl851\margr851\margt1134\margb1134\gutter1134 \widowctrl\ftnbj\aenddoc\linkstyles\hyphcaps0\formshade \fet0\sectd
\binfsxn1\binsxn1\psz9\linex576\headery709\footery709\colsx709\endnhere {\header \pard\plain \s39\widctlpar\tqc\tx4536\tqr\tx9072 \f4\fs18\lang2057 {\field{\*\fldinst TITLE \\* MERGEFORMAT }{\fldrslt Tools}}\tab Company Confidential\tab
EON SDK, Copyright \'a9 1999, Symbian Ltd
\par }{\footer \pard\plain \s42\widctlpar\brdrt\brdrs\brdrw15\brsp20 \tqc\tx4536\tqr\tx9072 \f4\fs18\lang2057 {\field{\*\fldinst SUBJECT \\* MERGEFORMAT }{\fldrslt Specifying projects with makmake}}\tab Page {\field{\*\fldinst PAGE \\* MERGEFORMAT
}{\fldrslt {\lang1024 1}}}\tab Last saved {\field{\*\fldinst SAVEDATE \\* MERGEFORMAT }{\fldrslt {\lang1024 06/09/99 12:42}}}
\par }{\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang{\pntxta )}}{\*\pnseclvl5
\pndec\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang
{\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}\pard\plain \s1\sb360\sa240\keepn\pagebb\widctlpar \b\f5\fs40\lang2057\kerning28 {\field\fldedit{\*\fldinst SUBJECT \\* MERGEFORMAT }{\fldrslt
Makmake changes between ER5 and ER5u}}
\par \pard\plain \s74\widctlpar\brdrl\brdrth\brdrw30\brsp80 \f4\fs20\cf5\lang2057 this chapter summarizes changes to {\cs51\f5 makmake} between e32toolp release 100 and e32toolp release 127.
\par \pard\plain \s3\sb120\keepn\widctlpar\brdrt\brdrs\brdrw30\brsp20 \tqr\tx9072 \b\f5\fs28\lang2057 -clean and -makework options
\par \pard\plain \widctlpar \f4\fs20\lang2057 Support for these command-line options has been removed. Targets are provided instead in the makefiles that {\cs51\f5 makmake}
generates for erasing files created during a build, and all the necessary work directories are created automatically.
\par \pard\plain \s3\sb120\keepn\widctlpar\brdrt\brdrs\brdrw30\brsp20 \tqr\tx9072 \b\f5\fs28\lang2057 -d option
\par \pard\plain \widctlpar \f4\fs20\lang2057 This option now causes makefiles to be generated into {\cs51\f5 \\EPOC32\\Make\\}{\cs51\i\f5 project}{\cs51\f5 \\}{\cs61\i platform} rather than {\cs51\f5 \\EPOC32\\Make\\}{\cs61\i platform}.
\par \pard\plain \s3\sb120\keepn\widctlpar\brdrt\brdrs\brdrw30\brsp20 \tqr\tx9072 \b\f5\fs28\lang2057 VC4 and VC5 IDE workspaces
\par \pard\plain \widctlpar \f4\fs20\lang2057 Support for creating workspaces for these IDEs is no longer provided. Only workspaces for VC6 can be created.
\par \pard\plain \s3\sb120\keepn\widctlpar\brdrt\brdrs\brdrw30\brsp20 \tqr\tx9072 \b\f5\fs28\lang2057 Bitmaps and Application Information files
\par \pard\plain \widctlpar \f4\fs20\lang2057 Support for building bitmaps and application information files is now supported in command-line makefiles.
\par \pard\plain \s3\sb120\keepn\widctlpar\brdrt\brdrs\brdrw30\brsp20 \tqr\tx9072 \b\f5\fs28\lang2057 Static Libraries
\par \pard\plain \widctlpar \f4\fs20\lang2057 Support for building and linking to static libraries has been added, via the new {\f5 .mmp} target type {\f5 \ldblquote lib\rdblquote } and the new .mmp keyword {\f5 \ldblquote staticlibrary\rdblquote }.
\par \pard\plain \s3\sb120\keepn\widctlpar\brdrt\brdrs\brdrw30\brsp20 \tqr\tx9072 \b\f5\fs28\lang2057 #Defines
\par \pard\plain \widctlpar \f4\fs20\lang2057 Support for specifying #defines for preprocessing source files can now be done via the new {\f5 .mmp} keyword {\f5 \ldblquote macro\rdblquote }.
\par \pard\plain \s3\sb120\keepn\widctlpar\brdrt\brdrs\brdrw30\brsp20 \tqr\tx9072 \b\f5\fs28\lang2057 LongBldPath and NoBrowseInfo mmp keywords
\par \pard\plain \widctlpar \f4\fs20\lang2057 These keywords have now been removed - they are no longer necessary since the path to the directory for containing intermediate files now incorporates an extra directory level.
\par \pard\plain \s3\sb120\keepn\widctlpar\brdrt\brdrs\brdrw30\brsp20 \tqr\tx9072 \b\f5\fs28\lang2057 Object mmp keyword
\par \pard\plain \widctlpar \f4\fs20\lang2057 This keyword has been removed.
\par \pard\plain \s3\sb120\keepn\widctlpar\brdrt\brdrs\brdrw30\brsp20 \tqr\tx9072 \b\f5\fs28\lang2057 VC4 and VC5 IDE workspaces
\par \pard\plain \widctlpar \f4\fs20\lang2057 Support for creating workspaces for these IDEs is no longer provided. Only workspaces for VC6 can be created.
\par \pard\plain \s3\sb120\keepn\widctlpar\brdrt\brdrs\brdrw30\brsp20 \tqr\tx9072 \b\f5\fs28\lang2057 New Target types for polymorphic DLLs
\par \pard\plain \widctlpar \f4\fs20\lang2057 Several new target types have been added so that certain polymorphic DLLs commonly used within EPOC needn\rquote t specify a {\f5 def} file.
\par \pard\plain \s3\sb120\keepn\widctlpar\brdrt\brdrs\brdrw30\brsp20 \tqr\tx9072 \b\f5\fs28\lang2057 Narrow Builds are no longer supported
\par \pard\plain \widctlpar \f4\fs20\lang2057 All EPOC builds are now wide (UNICODE) builds, debug (UDEB) or release (UREL). The {\f5 mmp} keyword UID is therefore no longer supported, there is just the UNICODEUID keyword for specifying UIDs for a project.
\par \pard\plain \s3\sb120\keepn\widctlpar\brdrt\brdrs\brdrw30\brsp20 \tqr\tx9072 \b\f5\fs28\lang2057 New ARM platform targets
\par \pard\plain \widctlpar \f4\fs20\lang2057 Makefiles can now be built for ARMI, ARM4 and THUMB rather than MARM. When a project is built for any of these three platforms, import libraries for compatible platforms are also created.
\par \pard\plain \s3\sb120\keepn\widctlpar\brdrt\brdrs\brdrw30\brsp20 \tqr\tx9072 \b\f5\fs28\lang2057 def files and import libraries
\par \pard\plain \widctlpar \f4\fs20\lang2057
Import libraries are now created directly from frozen export definition files rather than as a side-effect of linking. This change means that until an export is frozen, it does not appear in the import library and cannot be referenced by another project,
unless the new {\f5 mmp} keyword, {\f5 \rdblquote exportunfrozen\rdblquote }, is specified, in which case the import library is created as a side-effect of linking. The {\f5 \rdblquote deffile\rdblquote } statement now has a reduced rol
e - that of overriding the default {\f37 def} filename, rather than also dictating whether or not the project\rquote s exports are frozen.
\par By default, WINC {\f5 def} files are now frozen in {\f5 \\<project>\\bwins} rather than {\f5 \\<project>\\bwinc} since there is no need for a separate directory.
\par The two-stage link applied by command-line makefiles is now also applied within the MSVC IDE.
\par Comments are now listed in frozen {\f5 def }files, alongside the mangled function names, containing the un-mangled C++ name of the function.
\par \pard\plain \s3\sb120\keepn\widctlpar\brdrt\brdrs\brdrw30\brsp20 \tqr\tx9072 \b\f5\fs28\lang2057 Device Drivers
\par \pard\plain \widctlpar \f4\fs20\lang2057 EPOC projects that link to the EPOC kernel now need to list {\f5 ekern.lib} with the keyword {\f5 \ldblquote assplibrary\rdblquote } rather than {\f5 \ldblquote library\rdblquote }
because kernel-side import libraries are now created in a different directory according to which hardware platform a particular version of the kernel has been built for.
\par \pard\plain \s3\sb120\keepn\widctlpar\brdrt\brdrs\brdrw30\brsp20 \tqr\tx9072 \b\f5\fs28\lang2057 __PSISOFT__ #define
\par \pard\plain \widctlpar \f4\fs20\lang2057 The __PSISOFT__ #define is no longer defined for the preprocessing of source files. __SYMBIAN32__ alone is defined for use in distinguishing code to be run on EPOC from code to be run on other operating systems.
\par }