# HG changeset patch # User Tom Sutcliffe # Date 1280598266 -3600 # Node ID 06e2064de820d289a8e518f18d7a0d11a65aa347 # Parent b1cc3c1b502891c69588a8864e57a3456ebfa8a4# Parent 30834c0f31791402912456cf199620b911622745 merge from SF diff -r b1cc3c1b5028 -r 06e2064de820 build/common/common.mmh diff -r b1cc3c1b5028 -r 06e2064de820 build/common/release.src --- a/build/common/release.src Wed Jul 28 18:30:18 2010 +0100 +++ b/build/common/release.src Sat Jul 31 18:44:26 2010 +0100 @@ -2,10 +2,10 @@ Joe Branton (joe.branton@accenture.com) or Tom Sutcliffe (thomas.sutcliffe@accenture.com) notesrc_release_reason -See change history for details of changes in this release. +See change history for details of changes in this release. notesrc_general_comments -See this documentation for installation and howto type information. +See this documentation for installation and howto type information. notesrc_known_deviations None known. diff -r b1cc3c1b5028 -r 06e2064de820 build/ncp/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/build/ncp/bld.inf Sat Jul 31 18:44:26 2010 +0100 @@ -0,0 +1,26 @@ +// bld.inf +// +// Copyright (c) 2010 Accenture. All rights reserved. +// This component and the accompanying materials are made available +// under the terms of the "Eclipse Public License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.eclipse.org/legal/epl-v10.html". +// +// Initial Contributors: +// Accenture - Initial contribution +// +PRJ_PLATFORMS +WINSCW +ARMV5 +ARMV5SMP + +#include "platform.mmh" +#include "../common/common.mmh" + +PRJ_EXPORTS +.\platform.mmh /epoc32/include/fshell/platform.mmh +FSHELL_ROM_INCLUDE2(platform.mmh, fshell\platform.mmh) +FSHELL_ROM_INCLUDE(fshell_platform.iby) + +#include <../common/bld.inf> + diff -r b1cc3c1b5028 -r 06e2064de820 build/ncp/fshell_platform.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/build/ncp/fshell_platform.iby Sat Jul 31 18:44:26 2010 +0100 @@ -0,0 +1,28 @@ +// fshell_platform.iby +// +// Copyright (c) 2010 Accenture. All rights reserved. +// This component and the accompanying materials are made available +// under the terms of the "Eclipse Public License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.eclipse.org/legal/epl-v10.html". +// +// Initial Contributors: +// Accenture - Initial contribution +// +#ifndef FSHELL_PLATFORM_IBY +#define FSHELL_PLATFORM_IBY + +#ifdef FSHELL_MAKESIS + +;Unique Vendor Name +:"Accenture" + +;localised vendor names +%{"Accenture"} + +HASH{"fshell (NCP)"},(FSHELL_UID_SIS),FSHELL_VERSION,0,FSHELL_TIMESTAMP,TYPE=SA + +#endif + +#endif // FSHELL_PLATFORM_IBY + diff -r b1cc3c1b5028 -r 06e2064de820 build/ncp/platform.mmh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/build/ncp/platform.mmh Sat Jul 31 18:44:26 2010 +0100 @@ -0,0 +1,24 @@ +#ifndef FSHELL_PLATFORM_MMH +#define FSHELL_PLATFORM_MMH + +#define FSHELL_CAP_ALL +#define FSHELL_PROTECTED_UIDS + +#define FSHELL_PLATFORM_SYMTB 92 + +#define FSHELL_NO_WSERV_SUPPORT +#define FSHELL_NO_BLUETOOTH_SUPPORT +#define FSHELL_NO_TELEPHONY_SUPPORT +#define FSHELL_NO_AUDIO_SUPPORT +#define FSHELL_NO_SQL_SUPPORT +#define FSHELL_NO_PIPS_SUPPORT +#define FSHELL_NO_LBS_SUPPORT +#define FSHELL_NO_DOBJECTIX_SUPPORT +#define FSHELL_NO_EGL_SUPPORT +#define FSHELL_NO_OPENVG_SUPPORT +#define FSHELL_NO_ANALYSEHEAP_SUPPORT +#define FSHELL_NO_APPARC_SUPPORT +#define FSHELL_FLEXIBLEMM_AWARE +#define FSHELL_ARM11XX_SUPPORT + +#endif // FSHELL_PLATFORM_MMH diff -r b1cc3c1b5028 -r 06e2064de820 commands/play/play.cif --- a/commands/play/play.cif Wed Jul 28 18:30:18 2010 +0100 +++ b/commands/play/play.cif Sat Jul 31 18:44:26 2010 +0100 @@ -26,7 +26,7 @@ ==option int f preference -Sepcifies the audio priority preferense for playback. +Sepcifies the audio priority preference for playback. ==option int V volume diff -r b1cc3c1b5028 -r 06e2064de820 commands/testexecute/testexecute.cif --- a/commands/testexecute/testexecute.cif Wed Jul 28 18:30:18 2010 +0100 +++ b/commands/testexecute/testexecute.cif Sat Jul 31 18:44:26 2010 +0100 @@ -17,7 +17,9 @@ ==long-description -An fshell exe that wraps up a Test Execute script run and redirects its output to the fshell console. +An fshell exe that wraps up a Test Execute script run and redirects its log output to the fshell console. + +Important note: Older versions of Test Execute do not support the C<-tci> and C<-txi> options. Therefore, C<--include> and C<--exclude> may have no effect. ==option bool d debug @@ -47,7 +49,7 @@ You can specify the test case IDs using all the three different ways listed above. For example, in the following testexecute command, the test cases list is a combination of comma-separated test case IDs, test case ID range and a .tcs file containing IDs of the test cases to be included during execution: - c:\>testexecute c:\tefintegrationtest\TEFIntegrationTest-regular.script -tci TEST-001,TEST-002,TEST-008:TEST-015,some.tcs + c:\>testexecute c:\tefintegrationtest\TEFIntegrationTest-regular.script -tci TEST-001,TEST-002,TEST-008:TEST-015,some.tcs ==option bool t ignore diff -r b1cc3c1b5028 -r 06e2064de820 core/builtins/ymodem.cif --- a/core/builtins/ymodem.cif Wed Jul 28 18:30:18 2010 +0100 +++ b/core/builtins/ymodem.cif Sat Jul 31 18:44:26 2010 +0100 @@ -22,19 +22,9 @@ Allows the transfer of files to and from remote terminal software that supports YMODEM. Supports batch mode, allowing multiple files to be sent and received. Note, the console implementation that ymodem is attached to must support binary mode. If it doesn't, C (-47) will be reported. In practice, this currently means that one of the vt100 console variants (F, F, F, F or F) must be used. -==argument filename file_name optional multiple - -=over 4 - -=item Send mode: +Note, when sending, file names specified with wild characters are accepted. When receiving, specify a directory into which one or more files should be received. If no directory is specified, the received files will be saved in the current working directory (the name of each received file is provided by the sending end). -The names of the files to be sent (wild characters are accepted). At least one file must be specified. - -=item Receive mode: - -The name of the directory in which to write the received files (the name of each received file is provided by the send). If not specified, the received files are saved in the current working directory - -=back +==argument filename file_name optional multiple ==see-also diff -r b1cc3c1b5028 -r 06e2064de820 documentation/change_history.pod --- a/documentation/change_history.pod Wed Jul 28 18:30:18 2010 +0100 +++ b/documentation/change_history.pod Sat Jul 31 18:44:26 2010 +0100 @@ -14,11 +14,23 @@ =head1 FShell Change History -=head2 Release 000.3 +=head2 Release 000.4 + +=over 5 + +=item * + +Fixed a defect in iosrv.exe that caused a panic if a foreground read object was attached to a different end point. This was due to the read object being notified of a change in foreground before its iEndPoint member was updated. This member is now updated before attempting the attach, and is set to NULL in the event of a leave (resulting in the read object being left in an unattached state). -Build fixes. +=item * + +More build fixes. Changed the documentation builder to automatically prepend C<%EPOCROOT%> (converted to a path relative form) to pre-processor include path options that start with F. Prevously C<$(EPOCROOT)> was prepended in the makefile, which broke the documentation build because the pre-processor will only accept relative path include options. -=head2 Release 000.2 +=item * + +Added C<--codesegs> option to C. + +=head2 Release 000.2, 000.3 Build fixes. diff -r b1cc3c1b5028 -r 06e2064de820 documentation/common_mmh.pod diff -r b1cc3c1b5028 -r 06e2064de820 documentation/fshell_builddocs.mk --- a/documentation/fshell_builddocs.mk Wed Jul 28 18:30:18 2010 +0100 +++ b/documentation/fshell_builddocs.mk Sat Jul 31 18:44:26 2010 +0100 @@ -10,12 +10,12 @@ # Accenture - Initial contribution # BLD : - ..\tools\fsh-builddocs -i $(EPOCROOT)epoc32/include pod-list.txt + ..\tools\fsh-builddocs -i epoc32/include pod-list.txt RELEASABLES : - ..\tools\fsh-builddocs -i $(EPOCROOT)epoc32/include pod-list.txt -w + ..\tools\fsh-builddocs -i epoc32/include pod-list.txt -w CLEAN : - ..\tools\fsh-builddocs -i $(EPOCROOT)epoc32/include pod-list.txt -c + ..\tools\fsh-builddocs -i epoc32/include pod-list.txt -c MAKMAKE FREEZE LIB CLEANLIB RESOURCE SAVESPACE FINAL : diff -r b1cc3c1b5028 -r 06e2064de820 documentation/pod-list.txt --- a/documentation/pod-list.txt Wed Jul 28 18:30:18 2010 +0100 +++ b/documentation/pod-list.txt Sat Jul 31 18:44:26 2010 +0100 @@ -1,6 +1,3 @@ -//TODO the cpp -I option isn't working so includes are out for the moment... We no longer actually use common.mmh anyway -//#include - doc-root \epoc32\documentation temp-root \epoc32\build\documentation css documentation-style.css diff -r b1cc3c1b5028 -r 06e2064de820 libraries/extrabtrace/group/extrabtracek.mmp --- a/libraries/extrabtrace/group/extrabtracek.mmp Wed Jul 28 18:30:18 2010 +0100 +++ b/libraries/extrabtrace/group/extrabtracek.mmp Sat Jul 31 18:44:26 2010 +0100 @@ -25,17 +25,20 @@ sourcepath ..\src -#if defined(MARM) - #ifdef GCCE - // Workaround for the gcce makmake module doing weird things with -S when compiling .cia files - // And for GCCE.h's definition of __NAKED__ being wrong - source usampler_cia.cpp - #else - source usampler.cia +#ifndef SMP // Sampler not supported on smp + #if defined(MARM) + #ifdef GCCE + // Workaround for the gcce makmake module doing weird things with -S when compiling .cia files + // And for GCCE.h's definition of __NAKED__ being wrong + source usampler_cia.cpp + #else + source usampler.cia + #endif #endif +source sampler.cpp #endif -source extrabtracek.cpp sampler.cpp +source extrabtracek.cpp source eventhandler.cpp start wins diff -r b1cc3c1b5028 -r 06e2064de820 libraries/extrabtrace/inc/extrabtracek.h --- a/libraries/extrabtrace/inc/extrabtracek.h Wed Jul 28 18:30:18 2010 +0100 +++ b/libraries/extrabtrace/inc/extrabtracek.h Sat Jul 31 18:44:26 2010 +0100 @@ -46,7 +46,9 @@ void MExtraBtrace_Close(); public: +#ifndef __SMP__ DCpuSampler* iSampler; +#endif DExtraBtraceEventHandler* iEventHandler; }; diff -r b1cc3c1b5028 -r 06e2064de820 libraries/extrabtrace/src/extrabtracek.cpp --- a/libraries/extrabtrace/src/extrabtracek.cpp Wed Jul 28 18:30:18 2010 +0100 +++ b/libraries/extrabtrace/src/extrabtracek.cpp Sat Jul 31 18:44:26 2010 +0100 @@ -14,7 +14,9 @@ #include #include "common.h" +#ifndef __SMP__ #include "sampler.h" +#endif #include "eventhandler.h" class DExtraBTraceChannel : public DLogicalChannelBase @@ -38,8 +40,10 @@ err = Open(); if (err) return err; +#ifndef __SMP__ iSampler = new DCpuSampler(); if (!iSampler) err = KErrNoMemory; +#endif if (!err) iEventHandler = new DExtraBtraceEventHandler(this); if (!iEventHandler) err = KErrNoMemory; @@ -72,18 +76,24 @@ DExtraBTraceFactory::~DExtraBTraceFactory() { +#ifndef __SMP__ delete iSampler; +#endif delete iEventHandler; } void DExtraBTraceFactory::SetCpuUsageSampling(MExtraBtrace::TCpuUsageCallback aCallbackFn) { +#ifndef __SMP__ iSampler->SetCpuUsageSampling(aCallbackFn); +#endif } void DExtraBTraceFactory::SetProfilingSampling(TBool aEnabled) { +#ifndef __SMP__ iSampler->SetProfilingSampling(aEnabled); +#endif } TAny* DExtraBTraceFactory::GetVersion(TInt /*aVersion*/) @@ -111,10 +121,12 @@ return KErrNone; } +#ifndef __SMP__ DCpuSampler* DExtraBTraceChannel::Sampler() { return static_cast(iDevice)->iSampler; } +#endif TInt DExtraBTraceChannel::RequestUserHandle(DThread* /*aThread*/, TOwnerType /*aType*/) { @@ -129,6 +141,9 @@ { case EControlEnableProfiling: { +#ifdef __SMP__ + return KErrNotSupported; +#else TInt enable = (a1 == 0) ? 0 : 1; // We still ignore the rate, currently TInt err = BTrace::SetFilter(BTrace::EProfiling, enable); if (err >= 0) @@ -136,6 +151,7 @@ Sampler()->SetProfilingSampling(enable); } return err; +#endif } default: return KErrNotSupported; diff -r b1cc3c1b5028 -r 06e2064de820 libraries/iosrv/server/readwrite.cpp --- a/libraries/iosrv/server/readwrite.cpp Wed Jul 28 18:30:18 2010 +0100 +++ b/libraries/iosrv/server/readwrite.cpp Sat Jul 31 18:44:26 2010 +0100 @@ -362,8 +362,13 @@ ReadEndPoint()->IorepDetach(*this); } - aEndPoint.IorepAttachL(*this, aMode); iEndPoint = &aEndPoint; + TRAPD(err, aEndPoint.IorepAttachL(*this, aMode)); + if (err) + { + iEndPoint = NULL; + User::Leave(err); + } } void CIoReadObject::SetReadMode(RIoReadHandle::TReadMode aMode) @@ -954,8 +959,13 @@ WriteEndPoint()->IowepDetach(*this); } - aEndPoint.IowepAttachL(*this); iEndPoint = &aEndPoint; + TRAPD(err, aEndPoint.IowepAttachL(*this)); + if (err) + { + iEndPoint = NULL; + User::Leave(err); + } } void CIoWriteObject::WriteL(const RMsg& aMessage) diff -r b1cc3c1b5028 -r 06e2064de820 libraries/spcre/bwins/spcreu.def --- a/libraries/spcre/bwins/spcreu.def Wed Jul 28 18:30:18 2010 +0100 +++ b/libraries/spcre/bwins/spcreu.def Sat Jul 31 18:44:26 2010 +0100 @@ -31,8 +31,8 @@ ?FullMatchL@CRegEx@@QBEHABVTDesC8@@@Z @ 30 NONAME ; int CRegEx::FullMatchL(class TDesC8 const &) const ??0TRegExArg@@QAE@PAK@Z @ 31 NONAME ABSENT ; TRegExArg::TRegExArg(unsigned long *) ?PartialMatchL@CRegEx@@QBEHABVTDesC8@@ABVTRegExArg@@111@Z @ 32 NONAME ; int CRegEx::PartialMatchL(class TDesC8 const &, class TRegExArg const &, class TRegExArg const &, class TRegExArg const &, class TRegExArg const &) const - ??0TRegExArg@@QAE@PAIP6AHABVTDesC8@@PAX@Z@Z @ 33 NONAME ; TRegExArg::TRegExArg(unsigned int *, int (*)(class TDesC8 const &, void *)) - ??0TRegExArg@@QAE@PANP6AHABVTDesC8@@PAX@Z@Z @ 34 NONAME ; TRegExArg::TRegExArg(double *, int (*)(class TDesC8 const &, void *)) + ??0TRegExArg@@QAE@PAIP6AHABVTDesC8@@PAX@Z@Z @ 33 NONAME ABSENT ; TRegExArg::TRegExArg(unsigned int *, int (*)(class TDesC8 const &, void *)) + ??0TRegExArg@@QAE@PANP6AHABVTDesC8@@PAX@Z@Z @ 34 NONAME ABSENT ; TRegExArg::TRegExArg(double *, int (*)(class TDesC8 const &, void *)) ?ParseTReal64@TRegExArg@@CAHABVTDesC8@@PAX@Z @ 35 NONAME ; int TRegExArg::ParseTReal64(class TDesC8 const &, void *) ?ParseTUint16Octal@TRegExArg@@SAHABVTDesC8@@PAX@Z @ 36 NONAME ; int TRegExArg::ParseTUint16Octal(class TDesC8 const &, void *) ?PartialMatchL@CRegEx@@QBEHABVTDesC8@@ABVTRegExArg@@1@Z @ 37 NONAME ; int CRegEx::PartialMatchL(class TDesC8 const &, class TRegExArg const &, class TRegExArg const &) const @@ -76,7 +76,7 @@ ?ConsumeL@CRegEx@@QBEHAAVTDes8@@ABVTRegExArg@@@Z @ 75 NONAME ; int CRegEx::ConsumeL(class TDes8 &, class TRegExArg const &) const ?ParseTUint8Radix@TRegExArg@@CAHABVTDesC8@@PAXW4TRadix@@@Z @ 76 NONAME ; int TRegExArg::ParseTUint8Radix(class TDesC8 const &, void *, enum TRadix) ?ParseTUint32Hex@TRegExArg@@SAHABVTDesC8@@PAX@Z @ 77 NONAME ; int TRegExArg::ParseTUint32Hex(class TDesC8 const &, void *) - ??0TRegExArg@@QAE@PAH@Z @ 78 NONAME ; TRegExArg::TRegExArg(int *) + ??0TRegExArg@@QAE@PAH@Z @ 78 NONAME ABSENT ; TRegExArg::TRegExArg(int *) ?ConsumeL@CRegEx@@QBEHAAVTDes8@@@Z @ 79 NONAME ; int CRegEx::ConsumeL(class TDes8 &) const ?ParseTUint16Hex@TRegExArg@@SAHABVTDesC8@@PAX@Z @ 80 NONAME ; int TRegExArg::ParseTUint16Hex(class TDesC8 const &, void *) ??0TRegExArg@@QAE@PA_J@Z @ 81 NONAME ABSENT ; TRegExArg::TRegExArg(long long *) diff -r b1cc3c1b5028 -r 06e2064de820 libraries/spcre/libpcre/group/libpcre.mmp diff -r b1cc3c1b5028 -r 06e2064de820 tools/fsh-builddocs --- a/tools/fsh-builddocs Wed Jul 28 18:30:18 2010 +0100 +++ b/tools/fsh-builddocs Sat Jul 31 18:44:26 2010 +0100 @@ -1,12 +1,12 @@ #!perl # fsh-builddocs -# +# # Copyright (c) 2010 Accenture. All rights reserved. # This component and the accompanying materials are made available # under the terms of the "Eclipse Public License v1.0" # which accompanies this distribution, and is available # at the URL "http://www.eclipse.org/legal/epl-v10.html". -# +# # Initial Contributors: # Accenture - Initial contribution @@ -83,6 +83,15 @@ 'i|include=s' => $options{includes}) or DisplayHelp(); DisplayHelp() if ($help); warn "Invalid arguments\n" and DisplayHelp() unless (@ARGV == 1); + + my $relativeEpocRootPath = fshu::RelativePath($ENV{EPOCROOT}, cwd()); + $relativeEpocRootPath =~ s/\\/\//g; # '\' -> '/'. + foreach my $include (@{$options{includes}}) { + if ($include =~ /^epoc32/i) { + $include = "${relativeEpocRootPath}$include"; + } + } + return shift @ARGV; } diff -r b1cc3c1b5028 -r 06e2064de820 tools/fshu.pm --- a/tools/fshu.pm Wed Jul 28 18:30:18 2010 +0100 +++ b/tools/fshu.pm Sat Jul 31 18:44:26 2010 +0100 @@ -94,6 +94,11 @@ } $path = join('\\', @collapsedPath); + if ($path =~ m|^\\epoc32|) { + # If it starts with \epoc32, chop the leading backslash and stick on $EPOCROOT + $path =~ s|^\\|$ENV{EPOCROOT}|; + } + return $path; } @@ -124,9 +129,9 @@ mkpath($dir) or die "Couldn't make path \"$dir\": $!\n"; } } - if ($dir =~ /^\\epoc32/) { + if ($dir =~ m|^\\epoc32|) { # If it starts with \epoc32, chop the leading backslash and stick on $EPOCROOT - $dir =~ s/^\\/$ENV{EPOCROOT}/; + $dir =~ s|^\\|$ENV{EPOCROOT}|; } }