You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(16) |
Aug
(203) |
Sep
(142) |
Oct
(113) |
Nov
(73) |
Dec
(27) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(7) |
Feb
(38) |
Mar
(6) |
Apr
(1) |
May
(9) |
Jun
(104) |
Jul
(6) |
Aug
(11) |
Sep
(13) |
Oct
(6) |
Nov
(15) |
Dec
(37) |
2008 |
Jan
(17) |
Feb
(4) |
Mar
(6) |
Apr
(4) |
May
(2) |
Jun
(5) |
Jul
(1) |
Aug
(3) |
Sep
(21) |
Oct
(7) |
Nov
|
Dec
(3) |
2009 |
Jan
(4) |
Feb
(15) |
Mar
|
Apr
(34) |
May
(44) |
Jun
(12) |
Jul
(6) |
Aug
(15) |
Sep
(20) |
Oct
(10) |
Nov
(1) |
Dec
(20) |
2010 |
Jan
(19) |
Feb
(5) |
Mar
(4) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <dan...@us...> - 2009-05-07 13:52:55
|
Revision: 1267 http://cegcc.svn.sourceforge.net/cegcc/?rev=1267&view=rev Author: dannybackx Date: 2009-05-07 13:44:45 +0000 (Thu, 07 May 2009) Log Message: ----------- Updating the release scripts, over a year old by now. Unfinished. Include mingw32ce on i386 build. To do : separate gdb binary packages (gdb is not in our SVN any more). Modified Paths: -------------- trunk/cegcc/scripts/linux/cegcc.spec.in trunk/cegcc/scripts/linux/mingw32ce.spec.in trunk/cegcc/scripts/make_release.sh Added Paths: ----------- trunk/cegcc/scripts/linux/mingw32ce-i386.spec.in Modified: trunk/cegcc/scripts/linux/cegcc.spec.in =================================================================== --- trunk/cegcc/scripts/linux/cegcc.spec.in 2009-05-07 10:33:44 UTC (rev 1266) +++ trunk/cegcc/scripts/linux/cegcc.spec.in 2009-05-07 13:44:45 UTC (rev 1267) @@ -22,8 +22,10 @@ rm -rf $RPM_BUILD_ROOT export PREFIX=/opt/cegcc cd src || exit 1 +mkdir build-cegcc || exit 1 +cd build-cegcc || exit 1 # sh build-cegcc.sh . $RPM_BUILD_ROOT $PREFIX all || exit 1 -sh build-cegcc.sh all || exit 1 +sh ../scripts/build-cegcc.sh --components=all || exit 1 %install cd / Added: trunk/cegcc/scripts/linux/mingw32ce-i386.spec.in =================================================================== --- trunk/cegcc/scripts/linux/mingw32ce-i386.spec.in (rev 0) +++ trunk/cegcc/scripts/linux/mingw32ce-i386.spec.in 2009-05-07 13:44:45 UTC (rev 1267) @@ -0,0 +1,80 @@ +Summary: CeGCC offers cross-development to create Windows CE apps for ARM and x86 processors +Name: cegcc-mingw32ce-i386 +%define version VerSION +Version: VerSION +Release: 1 +License: open +Packager: Danny Backx <dan...@us...> +Group: Development/Tools +Prefix: /opt/x86mingw32ce +# Source: http://sourceforge.net/project/showfiles.php?group_id=173455 +Source: /tmp/cegcc-mingw32ce-i386-src-%{version}.tar.gz +BuildRoot: %{_tmppath}/%{name}-buildroot + +%description +CeGCC + +%prep +%setup -q +# %setup -n cegcc-minge32ce-VerSION + +%build +rm -rf $RPM_BUILD_ROOT +export PREFIX=/opt/x86mingw32ce +cd src || exit 1 +mkdir build-mingw32ce-i386 || exit 1 +cd build-mingw32ce-i386 || exit 1 +# sh build-cegcc.sh . $RPM_BUILD_ROOT $PREFIX all || exit 1 +sh ../scripts/build-x86.sh --components=all || exit 1 + +%install +cd / +rm -rf $RPM_BUILD_ROOT +mkdir $RPM_BUILD_ROOT +tar cf - opt/x86mingw32ce | (cd $RPM_BUILD_ROOT; tar xf -) + +%clean +rm -rf $RPM_BUILD_ROOT + +%files +/opt/x86mingw32ce +#/opt/cegcc/arm-wince-cegcc +#%attr(755, root, root) /opt/cegcc/bin +#/opt/cegcc/include +#/opt/cegcc/lib +#/opt/cegcc/libexec +#/opt/cegcc/share +#/opt/cegcc/COPYING +#/opt/cegcc/COPYING.LIB +#/opt/cegcc/NEWS +#/opt/cegcc/README + +%changelog +* Sat Jan 20 2007 Danny Backx <dan...@us...> +- Copy cegcc.spec into mingw32ce.spec, change the stuff that's required. + +* Sat Dec 31 2006 Danny Backx <dan...@us...> +- Strip out mingw32ce. + +* Sat Dec 30 2006 Danny Backx <dan...@us...> +- Adapt to Pedro's build scripts and /opt/cegcc and /opt/mingw32ce . + +* Wed Nov 1 2006 Danny Backx <dan...@us...> +- Add COPYING.LIB +- Increase level to produce a 0.11 version next time. + +* Wed Oct 11 2006 Danny Backx <dan...@us...> +- Add a couple of text files. + +* Sat Oct 7 2006 Danny Backx <dan...@us...> +- Change to implement arm-wince-cegcc and arm-wince-mingw32ce targets. + +* Sun Sep 17 2006 Danny Backx <dan...@us...> +- Add documentation files. + +* Thu Sep 14 2006 Danny Backx <dan...@us...> +- Fix the path in install so we don't need to have cegcc installed to be + able to run rpmbuild. + +* Sun Sep 3 2006 Danny Backx <dan...@us...> +- initial version of the spec file. Property changes on: trunk/cegcc/scripts/linux/mingw32ce-i386.spec.in ___________________________________________________________________ Added: svn:eol-style + native Modified: trunk/cegcc/scripts/linux/mingw32ce.spec.in =================================================================== --- trunk/cegcc/scripts/linux/mingw32ce.spec.in 2009-05-07 10:33:44 UTC (rev 1266) +++ trunk/cegcc/scripts/linux/mingw32ce.spec.in 2009-05-07 13:44:45 UTC (rev 1267) @@ -22,8 +22,10 @@ rm -rf $RPM_BUILD_ROOT export PREFIX=/opt/mingw32ce cd src || exit 1 +mkdir build-mingw32ce-arm || exit 1 +cd build-mingw32ce-arm || exit 1 # sh build-cegcc.sh . $RPM_BUILD_ROOT $PREFIX all || exit 1 -sh build-mingw32ce.sh all || exit 1 +sh ../scripts/build-mingw32ce.sh --components=all || exit 1 %install cd / Modified: trunk/cegcc/scripts/make_release.sh =================================================================== --- trunk/cegcc/scripts/make_release.sh 2009-05-07 10:33:44 UTC (rev 1266) +++ trunk/cegcc/scripts/make_release.sh 2009-05-07 13:44:45 UTC (rev 1267) @@ -275,6 +275,7 @@ rm -f cegcc.spec mingw32ce.spec rpm-create-source.sh && \ sed -e "s/VerSION/$VERSION/g" <cegcc.spec.in >cegcc.spec && \ sed -e "s/VerSION/$VERSION/g" <mingw32ce.spec.in >mingw32ce.spec && \ + sed -e "s/VerSION/$VERSION/g" <mingw32ce-i386.spec.in >mingw32ce-i386.spec && \ sed -e "s/VerSION/$VERSION/g" <rpm-create-source.sh.in >rpm-create-source.sh && \ OK=yes if [ $OK = "no" ]; then @@ -321,22 +322,23 @@ # if test $RESTARTED -ge 51 then - echo "Skip level 50 (Prepare for buiding RPMs)" + echo "Skip level 50 (Prepare for building RPMs)" else - echo "Level 50 (Prepare for buiding RPMs)" + echo "Level 50 (Prepare for building RPMs)" OK=no cd $ORIGDIR cd $TAGSDIR/cegcc-$VERSION/scripts/linux sh rpm-create-source.sh && OK=yes if [ $OK = "no" ]; then - echo "Checkout from SVN failed, exiting ..." + echo "Prepare RPM source tar.gz file failed, exiting ..." exit 1 fi RESTARTED=51 report_status # fi - +echo Stop +exit 0 # # Level 51 # @@ -352,6 +354,11 @@ echo "Build of CeGCC RPM failed, exiting ..." exit 1 fi + if [ ! -r /usr/src/rpm/RPMS/cegcc-cegcc-$VERSION-1.i586.rpm ]; then + echo "RPM doesn't appear to be there, exiting ..." + echo "ls -l /usr/src/rpm/RPMS/i586/cegcc-cegcc-$VERSION-1.i586.rpm" + exit 1 + fi # # End level 51 (Build CeGCC RPM) # @@ -359,7 +366,6 @@ report_status # fi - # # Level 52 # @@ -371,14 +377,93 @@ OK=no rm -rf /opt/mingw32ce/* && rpmbuild -tb /usr/src/rpm/SOURCES/cegcc-mingw32ce-src-$VERSION.tar.gz && OK=yes + if [ $OK = "no" ]; then + echo "Build of Mingw32ce RPM failed, exiting ..." + exit 1 + fi + if [ ! -r /usr/src/rpm/RPMS/cegcc-mingw32ce-$VERSION-1.i586.rpm ]; then + echo "RPM doesn't appear to be there, exiting ..." + echo "ls -l /usr/src/rpm/RPMS/i586/cegcc-mingw32ce-$VERSION-1.i586.rpm" + exit 1 + fi # # End level 52 (Build Mingw32ce RPM) # + RESTARTED=53 + report_status + # +fi +# +# Level 53 +# +if test $RESTARTED -ge 54 +then + echo "Skip level 53 (Build Mingw32ce/i386 RPM)" +else + echo "Level 53 (Build Mingw32ce/i386 RPM)" + OK=no + rm -rf /opt/x86mingw32ce/* && + rpmbuild -tb /usr/src/rpm/SOURCES/cegcc-mingw32ce-i386-src-$VERSION.tar.gz && OK=yes + if [ $OK = "no" ]; then + echo "Build of Mingw32ce/i386 RPM failed, exiting ..." + exit 1 + fi + if [ ! -r /usr/src/rpm/RPMS/cegcc-mingw32ce-i386-$VERSION-1.i586.rpm ]; then + echo "RPM doesn't appear to be there, exiting ..." + echo "ls -l /usr/src/rpm/RPMS/i586/cegcc-mingw32ce-i386-$VERSION-1.i586.rpm" + exit 1 + fi + # + # End level 53 (Build Mingw32ce/i386 RPM) + # + RESTARTED=57 + report_status + # +fi +# +# Level 57 +# +if test $RESTARTED -ge 58 +then + echo "Skip level 57 (Build Mingw32ce gdb)" +else + echo "Level 57 (Build Mingw32ce gdb)" + OK=no +# rm -rf /opt/x86mingw32ce/* && +# rpmbuild -tb /usr/src/rpm/SOURCES/cegcc-mingw32ce-i386-src-$VERSION.tar.gz && OK=yes + if [ $OK = "no" ]; then + echo "Build of Mingw32ce gdb failed, exiting ..." + exit 1 + fi + # + # End level 57 (Build Mingw32ce gdb) + # + RESTARTED=58 + report_status + # +fi +# +# Level 58 +# +if test $RESTARTED -ge 59 +then + echo "Skip level 58 (Build Mingw32ce/i386 gdb)" +else + echo "Level 58 (Build Mingw32ce/i386 gdb)" + OK=no +# rm -rf /opt/x86mingw32ce/* && +# rpmbuild -tb /usr/src/rpm/SOURCES/cegcc-mingw32ce-i386-src-$VERSION.tar.gz && OK=yes + if [ $OK = "no" ]; then + echo "Build of Mingw32ce/i386 gdb failed, exiting ..." + exit 1 + fi + # + # End level 58 (Build Mingw32ce/i386 gdb) + # RESTARTED=60 report_status # fi - # # Level 60 # @@ -390,9 +475,8 @@ # cd /usr/src/rpm/RPMS/i586 FTPFILE=/tmp/lftp-$$ - echo "open upload.sf.net -u ftp,cegcc" >$FTPFILE echo "lcd /usr/src/rpm/RPMS/i586" >>$FTPFILE - echo "cd /incoming" >>$FTPFILE + echo "cd uploads" >>$FTPFILE # # Cope with potentially different file names generated by rpmbuild. # @@ -415,8 +499,8 @@ exit 1 fi echo "put $LIST -o $PREFIX$LIST" >>$FTPFILE - echo "bye" >>$FTPFILE - lftp -f $FTPFILE + echo "quit" >>$FTPFILE + sftp -b $FTPFILE dannybackx,ce...@fr... # # End level 60 (FTP RPM) # @@ -463,9 +547,8 @@ else echo "Level 80 (FTP tar images)" FTPFILE=/tmp/lftp-$$ - echo "open upload.sf.net -u ftp,cegcc" >$FTPFILE echo "lcd /tmp" >>$FTPFILE - echo "cd /incoming" >>$FTPFILE + echo "cd uploads" >>$FTPFILE # if [ "x$LINUXDISTRO" = "x" ]; then PREFIX="" @@ -480,9 +563,9 @@ # # echo "put cegcc-cegcc-src-$VERSION.tar.gz" >>$FTPFILE # echo "put cegcc-mingw32ce-src-$VERSION.tar.gz" >>$FTPFILE - echo "bye" >>$FTPFILE + echo "quit" >>$FTPFILE OK=no - lftp -f $FTPFILE && OK=yes + sftp -b $FTPFILE dannybackx,ce...@fr... && OK=yes if [ $OK = "no" ]; then echo "FTP binary tar failed, exiting..." exit 1 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2009-05-07 10:33:49
|
Revision: 1266 http://cegcc.svn.sourceforge.net/cegcc/?rev=1266&view=rev Author: dannybackx Date: 2009-05-07 10:33:44 +0000 (Thu, 07 May 2009) Log Message: ----------- Specific file versions for CeGCC 0.55 Modified Paths: -------------- tags/cegcc-0.55/README Modified: tags/cegcc-0.55/README =================================================================== --- tags/cegcc-0.55/README 2009-05-07 10:33:13 UTC (rev 1265) +++ tags/cegcc-0.55/README 2009-05-07 10:33:44 UTC (rev 1266) @@ -1,6 +1,6 @@ CeGCC - cross-development tools for Windows CE (PocketPC). -This is the SVN version of CeGCC. +This is version 0.55 of CeGCC. The CeGCC project aims to provide a consistent and working set of development tools that generate code for Windows CE devices such as PDA's and smart phones. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2009-05-07 10:33:23
|
Revision: 1265 http://cegcc.svn.sourceforge.net/cegcc/?rev=1265&view=rev Author: dannybackx Date: 2009-05-07 10:33:13 +0000 (Thu, 07 May 2009) Log Message: ----------- Version file for release 0.55 Added Paths: ----------- tags/cegcc-0.55/src/w32api/include/cegcc.h Added: tags/cegcc-0.55/src/w32api/include/cegcc.h =================================================================== --- tags/cegcc-0.55/src/w32api/include/cegcc.h (rev 0) +++ tags/cegcc-0.55/src/w32api/include/cegcc.h 2009-05-07 10:33:13 UTC (rev 1265) @@ -0,0 +1,35 @@ +/* + * Version information about CeGCC + */ +#ifndef _CEGCC_H_ +#define _CEGCC_H_ + +#ifndef __CEGCC_VERSION__ +#error __CEGCC_VERSION__ isn't defined by the compiler. Huh? +#endif + +#undef __CEGCC_VERSION__ + +/* Automatic changes below */ +#define __CEGCC_VERSION_MAJOR__ 0 +#define __CEGCC_VERSION_MINOR__ 55 +#define __CEGCC_VERSION_PATCHLEVEL__ +#define __CEGCC_BUILD_DATE__ 20090507 +/* Automatic changes above */ + +#define __CEGCC_VERSION__ \ + (((__CEGCC_VERSION_MAJOR__) << 16) \ + + ((__CEGCC_VERSION_MINOR__) << 8) \ + + (__CEGCC_PATCHLEVEL__)) + +#ifdef __cplusplus +extern "C" { +#endif + +extern int _CeGCCVersion(void); + +#ifdef __cplusplus +} +#endif + +#endif /* _CEGCC_H_ */ Property changes on: tags/cegcc-0.55/src/w32api/include/cegcc.h ___________________________________________________________________ Added: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2009-05-07 10:07:31
|
Revision: 1264 http://cegcc.svn.sourceforge.net/cegcc/?rev=1264&view=rev Author: dannybackx Date: 2009-05-07 10:07:12 +0000 (Thu, 07 May 2009) Log Message: ----------- Create tag 0.55 by make_release.sh Added Paths: ----------- tags/cegcc-0.55/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2009-05-06 06:08:56
|
Revision: 1263 http://cegcc.svn.sourceforge.net/cegcc/?rev=1263&view=rev Author: dannybackx Date: 2009-05-06 06:08:44 +0000 (Wed, 06 May 2009) Log Message: ----------- Install the lib*.dll.a also, see mailing list. Modified Paths: -------------- trunk/cegcc/src/ChangeLog trunk/cegcc/src/mingwdll/libgcc/Makefile trunk/cegcc/src/mingwdll/libstdc++/Makefile trunk/cegcc/src/mingwdll/libsupc++/Makefile Modified: trunk/cegcc/src/ChangeLog =================================================================== --- trunk/cegcc/src/ChangeLog 2009-05-02 15:21:33 UTC (rev 1262) +++ trunk/cegcc/src/ChangeLog 2009-05-06 06:08:44 UTC (rev 1263) @@ -1,3 +1,7 @@ +2009-05-06 Danny Backx <dan...@us...> + + * mingwdll/lib{gcc,stdc++,supc++}/Makefile : install the lib*.dll.a . + 2009-02-07 Pedro Alves <ped...@us...> * scripts: New top-level directory. Move build-mingw32ce.sh, Modified: trunk/cegcc/src/mingwdll/libgcc/Makefile =================================================================== --- trunk/cegcc/src/mingwdll/libgcc/Makefile 2009-05-02 15:21:33 UTC (rev 1262) +++ trunk/cegcc/src/mingwdll/libgcc/Makefile 2009-05-06 06:08:44 UTC (rev 1263) @@ -37,3 +37,4 @@ mkdir -p ${DLL_DIR} cp ${BUILD_DIR}/${MYDIR}/${ME}.def ${DLL_DIR} cp ${BUILD_DIR}/${MYDIR}/${ME}-${DLLVERSION}.dll ${DLL_DIR} + cp ${BUILD_DIR}/${MYDIR}/${ME}.dll.a ${DLL_DIR}/${ME}.dll.a Modified: trunk/cegcc/src/mingwdll/libstdc++/Makefile =================================================================== --- trunk/cegcc/src/mingwdll/libstdc++/Makefile 2009-05-02 15:21:33 UTC (rev 1262) +++ trunk/cegcc/src/mingwdll/libstdc++/Makefile 2009-05-06 06:08:44 UTC (rev 1263) @@ -45,5 +45,10 @@ cp ${BUILD_DIR}/${MYDIR}/${ME}.def ${DLL_DIR} cp ${BUILD_DIR}/${MYDIR}/${ME}-${DLLVERSION}.dll ${DLL_DIR} cp ${BUILD_DIR}/${MYDIR}/${ME}-${DLLVERSION}.dll.stripped ${DEVICE_DIR} + # + # Because of name conflict, remove the earlier *.la file + # that comes from the static library build in gcc/ + # rm -f ${DLL_DIR}/${ME}.la cp ${BUILD_DIR}/${MYDIR}/${ME}.la ${DLL_DIR}/${ME}.la + cp ${BUILD_DIR}/${MYDIR}/${ME}.dll.a ${DLL_DIR}/${ME}.dll.a Modified: trunk/cegcc/src/mingwdll/libsupc++/Makefile =================================================================== --- trunk/cegcc/src/mingwdll/libsupc++/Makefile 2009-05-02 15:21:33 UTC (rev 1262) +++ trunk/cegcc/src/mingwdll/libsupc++/Makefile 2009-05-06 06:08:44 UTC (rev 1263) @@ -44,5 +44,10 @@ mkdir -p ${DLL_DIR} ${DEVICE_DIR} cp ${BUILD_DIR}/${MYDIR}/${ME}-${DLLVERSION}.dll ${DEVICE_DIR} cp ${BUILD_DIR}/${MYDIR}/${ME}-${DLLVERSION}.dll.stripped ${DEVICE_DIR} + # + # Because of name conflict, remove the earlier *.la file + # that comes from the static library build in gcc/ + # rm -f ${DLL_DIR}/${ME}.la cp ${BUILD_DIR}/${MYDIR}/${ME}.la ${DLL_DIR}/${ME}.la + cp ${BUILD_DIR}/${MYDIR}/${ME}.dll.a ${DLL_DIR}/${ME}.dll.a This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2009-05-02 15:21:34
|
Revision: 1262 http://cegcc.svn.sourceforge.net/cegcc/?rev=1262&view=rev Author: dannybackx Date: 2009-05-02 15:21:33 +0000 (Sat, 02 May 2009) Log Message: ----------- Display the memory regions in the dump. Modified Paths: -------------- trunk/cegcc/tools/cedump/DwCeDump.h trunk/cegcc/tools/cedump/cedump.c Modified: trunk/cegcc/tools/cedump/DwCeDump.h =================================================================== --- trunk/cegcc/tools/cedump/DwCeDump.h 2009-04-29 06:43:04 UTC (rev 1261) +++ trunk/cegcc/tools/cedump/DwCeDump.h 2009-05-02 15:21:33 UTC (rev 1262) @@ -42,8 +42,8 @@ * * Each directory specifies the following: * * Data type - * * Data size - * * RVA to the location of the data in the dump file + * * Data size + * * RVA to the location of the data in the dump file * * Each file permits only one directory of a specific type. * The basic dump file format is a single MINIDUMP_HEADER followed @@ -102,7 +102,7 @@ typedef unsigned int RVA; /* Offset from beginning of file */ typedef unsigned int ULONG32; -typedef unsigned long ULONG64; +typedef unsigned long long ULONG64; typedef wchar_t WCHAR; /* beware : differs between host and target */ typedef unsigned short USHORT; typedef unsigned long DWORD; @@ -272,6 +272,8 @@ /* * This structure lists the memory dumps associated with the error report. + * + * This structure is followed by NumberOfEntries MINIDUMP_MEMORY_DESCRIPTOR fields. */ typedef struct _CEDUMP_MEMORY_LIST { USHORT SizeOfHeader; Modified: trunk/cegcc/tools/cedump/cedump.c =================================================================== --- trunk/cegcc/tools/cedump/cedump.c 2009-04-29 06:43:04 UTC (rev 1261) +++ trunk/cegcc/tools/cedump/cedump.c 2009-05-02 15:21:33 UTC (rev 1262) @@ -43,6 +43,8 @@ void HandleSystemInfo(FILE *, int, int, Arguments *); void HandleException(FILE *, int, int, Arguments *); void HandleThreadCallStack(FILE *, int, int, Arguments *); +void HandleMemoryList(FILE *, int, int, Arguments *); +void HandleBucketParameters(FILE *, int, int, Arguments *); void HandleElementList(FILE *, int, int, Arguments *); @@ -168,9 +170,9 @@ { ceStreamThreadList, "Thread", HandleElementList, ArgTL }, { ceStreamThreadContextList, "Thread Context", HandleElementList, ArgTCL }, { ceStreamThreadCallStackList, "Thread Callstack", HandleThreadCallStack, NULL }, - { ceStreamMemoryVirtualList, "Memory virtual list", NULL, NULL }, - { ceStreamMemoryPhysicalList, "Memory physical list", NULL, NULL }, - { ceStreamBucketParameters, "Bucket parameters", NULL, NULL }, + { ceStreamMemoryVirtualList, "Memory virtual list", HandleMemoryList, NULL }, + { ceStreamMemoryPhysicalList, "Memory physical list", HandleMemoryList, NULL }, + { ceStreamBucketParameters, "Bucket parameters", HandleBucketParameters, NULL }, /* The end */ { LastReservedStream, NULL, NULL } }; @@ -529,3 +531,76 @@ } #endif } + +void HandleMemoryList(FILE *f, int off, int len, Arguments *arg) +{ + CEDUMP_MEMORY_LIST ml; + MINIDUMP_MEMORY_DESCRIPTOR *md; + int i, j; + + fseek(f, off, SEEK_SET); + fread(&ml, sizeof(CEDUMP_MEMORY_LIST), 1, f); + + fprintf(stderr, " Memory list %d entries\n", ml.NumberOfEntries); + + md = calloc(ml.NumberOfEntries, sizeof(MINIDUMP_MEMORY_DESCRIPTOR)); + fread(md, sizeof(MINIDUMP_MEMORY_DESCRIPTOR), ml.NumberOfEntries, f); + + for (i=0; i<ml.NumberOfEntries; i++) { + unsigned long somr = md[i].StartOfMemoryRange; + unsigned long len = md[i].Memory.DataSize; + unsigned long rva = md[i].Memory.Rva; + char *buf; + + /* + * Using variables here to avoid printf getting screwed up + * with alignment of the long long field. + */ + fprintf(stderr, " Entry %d start 0x%08X len %x Rva %04X\n", + i, + somr, len, rva); + + buf = malloc(len); + fseek(f, rva, SEEK_SET); + fread(buf, len, 1, f); + + int start = somr & 0xFFFFFFF0; + int the_end = (somr + len - 1) | 0x0F; + int p; + for (p=start; p<=the_end; p++) { + if (p < somr && ((p & 0x0F) == 0)) + fprintf(stderr, "%08X ", p); + else if (p < somr) + fprintf(stderr, " "); + else if (p >= somr + len && ((p & 0x0F) == 0x0F)) + fprintf(stderr, "\n"); + else if (p >= somr + len) + fprintf(stderr, " "); + else if ((p & 0x0F) == 0) + fprintf(stderr, "%08X %02X", p, + 255 & buf[p-somr]); + else if ((p & 0x0F) == 0x0F) + fprintf(stderr, " %02X\n", 255 & buf[p-somr]); + else + fprintf(stderr, " %02X", 255 & buf[p-somr]); + } + free(buf); + } +} + +void HandleBucketParameters(FILE *f, int off, int len, Arguments *arg) +{ + CEDUMP_BUCKET_PARAMETERS bp; + char *app, *owner, *mod; + + fseek(f, off, SEEK_SET); + fread(&bp, sizeof(CEDUMP_BUCKET_PARAMETERS), 1, f); + + app = ReadString(f, bp.AppName); + owner = ReadString(f, bp.OwnerName); + mod = ReadString(f, bp.ModName); + + fprintf(stderr, " Bucket parameters :\n" + "\tAppName [%s]\n\tOwnerName [%s]\n\tModule [%s]\n", + app, owner, mod); +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2009-04-29 06:43:05
|
Revision: 1261 http://cegcc.svn.sourceforge.net/cegcc/?rev=1261&view=rev Author: dannybackx Date: 2009-04-29 06:43:04 +0000 (Wed, 29 Apr 2009) Log Message: ----------- Changes for MacOS X 10.5 by Ismail Modified Paths: -------------- trunk/cegcc/src/gcc/gcc/ChangeLog.ce trunk/cegcc/src/gcc/gcc/config/rs6000/host-darwin.c Modified: trunk/cegcc/src/gcc/gcc/ChangeLog.ce =================================================================== --- trunk/cegcc/src/gcc/gcc/ChangeLog.ce 2009-04-29 06:37:37 UTC (rev 1260) +++ trunk/cegcc/src/gcc/gcc/ChangeLog.ce 2009-04-29 06:43:04 UTC (rev 1261) @@ -1,3 +1,7 @@ +2009-04-29 Ismail Khatib <ik...@im...> + + * config/rs6000/host-darwin.c : small changes for MacOS X 10.5. + 2009-04-14 Danny Backx <dan...@us...> * config.gcc : Add new file gcc/config/i386/mingw32ce.h . Modified: trunk/cegcc/src/gcc/gcc/config/rs6000/host-darwin.c =================================================================== --- trunk/cegcc/src/gcc/gcc/config/rs6000/host-darwin.c 2009-04-29 06:37:37 UTC (rev 1260) +++ trunk/cegcc/src/gcc/gcc/config/rs6000/host-darwin.c 2009-04-29 06:43:04 UTC (rev 1261) @@ -33,9 +33,11 @@ static void segv_handler (int, siginfo_t *, void *); static void darwin_rs6000_extra_signals (void); +#ifndef __DARWIN_UNIX03 /* This doesn't have a prototype in signal.h in 10.2.x and earlier, fixed in later releases. */ extern int sigaltstack(const struct sigaltstack *, struct sigaltstack *); +#endif #undef HOST_HOOKS_EXTRA_SIGNALS #define HOST_HOOKS_EXTRA_SIGNALS darwin_rs6000_extra_signals @@ -68,7 +70,11 @@ sigaddset (&sigset, SIGSEGV); sigprocmask (SIG_UNBLOCK, &sigset, NULL); +#ifdef __DARWIN_UNIX03 + faulting_insn = *(unsigned *)uc->uc_mcontext->__ss.__srr0; +#else faulting_insn = *(unsigned *)uc->uc_mcontext->ss.srr0; +#endif /* Note that this only has to work for GCC, so we don't have to deal with all the possible cases (GCC has no AltiVec code, for @@ -116,8 +122,13 @@ exit (FATAL_EXIT_CODE); } +#ifdef __DARWIN_UNIX03 fprintf (stderr, "[address=%08lx pc=%08x]\n", + uc->uc_mcontext->__es.__dar, uc->uc_mcontext->__ss.__srr0); +#else + fprintf (stderr, "[address=%08lx pc=%08x]\n", uc->uc_mcontext->es.dar, uc->uc_mcontext->ss.srr0); +#endif internal_error ("Segmentation Fault"); exit (FATAL_EXIT_CODE); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2009-04-29 06:37:39
|
Revision: 1260 http://cegcc.svn.sourceforge.net/cegcc/?rev=1260&view=rev Author: dannybackx Date: 2009-04-29 06:37:37 +0000 (Wed, 29 Apr 2009) Log Message: ----------- 2009-04-28 Alan Modra <am...@bi...> * ld/deffilep.y (STACKSIZE_K): Rename from STACKSIZE. Fix upstream, invoked by Ismail Khatib <ik...@im...>. This should fix the problem. We add _K for quite a few tokens in ldgram.y, for exactly the same reason. Committed. Modified Paths: -------------- trunk/cegcc/src/binutils/ChangeLog.ce trunk/cegcc/src/binutils/ld/deffilep.y Modified: trunk/cegcc/src/binutils/ChangeLog.ce =================================================================== --- trunk/cegcc/src/binutils/ChangeLog.ce 2009-04-28 14:28:49 UTC (rev 1259) +++ trunk/cegcc/src/binutils/ChangeLog.ce 2009-04-29 06:37:37 UTC (rev 1260) @@ -1,3 +1,10 @@ +2009-04-28 Alan Modra <am...@bi...> + + * ld/deffilep.y (STACKSIZE_K): Rename from STACKSIZE. + Fix upstream, invoked by Ismail Khatib <ik...@im...>. + This should fix the problem. We add _K for quite a few tokens in + ldgram.y, for exactly the same reason. Committed. + 2009-02-08 Rikky <ri...@us...> * binutils/windres.c : Fix [ 2574606 ] "windres can't detect Modified: trunk/cegcc/src/binutils/ld/deffilep.y =================================================================== --- trunk/cegcc/src/binutils/ld/deffilep.y 2009-04-28 14:28:49 UTC (rev 1259) +++ trunk/cegcc/src/binutils/ld/deffilep.y 2009-04-29 06:37:37 UTC (rev 1260) @@ -104,7 +104,7 @@ int number; }; -%token NAME LIBRARY DESCRIPTION STACKSIZE HEAPSIZE CODE DATAU DATAL +%token NAME LIBRARY DESCRIPTION STACKSIZE_K HEAPSIZE CODE DATAU DATAL %token SECTIONS EXPORTS IMPORTS VERSIONK BASE CONSTANTU CONSTANTL %token PRIVATEU PRIVATEL %token READ WRITE EXECUTE SHARED NONAMEU NONAMEL DIRECTIVE @@ -124,7 +124,7 @@ NAME opt_name opt_base { def_image_name ($2, $3, 0); } | LIBRARY opt_name opt_base { def_image_name ($2, $3, 1); } | DESCRIPTION ID { def_description ($2);} - | STACKSIZE NUMBER opt_number { def_stacksize ($2, $3);} + | STACKSIZE_K NUMBER opt_number { def_stacksize ($2, $3);} | HEAPSIZE NUMBER opt_number { def_heapsize ($2, $3);} | CODE attr_list { def_section ("CODE", $2);} | DATAU attr_list { def_section ("DATA", $2);} @@ -570,7 +570,7 @@ diropts[] = { { "-heap", HEAPSIZE }, - { "-stack", STACKSIZE }, + { "-stack", STACKSIZE_K }, { "-attr", SECTIONS }, { "-export", EXPORTS }, { 0, 0 } @@ -894,7 +894,7 @@ { "SECTIONS", SECTIONS }, { "SEGMENTS", SECTIONS }, { "SHARED", SHARED }, - { "STACKSIZE", STACKSIZE }, + { "STACKSIZE", STACKSIZE_K }, { "VERSION", VERSIONK }, { "WRITE", WRITE }, { 0, 0 } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2009-04-28 15:01:14
|
Revision: 1256 http://cegcc.svn.sourceforge.net/cegcc/?rev=1256&view=rev Author: dannybackx Date: 2009-04-28 13:42:34 +0000 (Tue, 28 Apr 2009) Log Message: ----------- Add three missing functions, see feature request #2750015. Modified Paths: -------------- trunk/cegcc/src/mingw/ChangeLog.mingw32ce trunk/cegcc/src/mingw/coredll6.def Modified: trunk/cegcc/src/mingw/ChangeLog.mingw32ce =================================================================== --- trunk/cegcc/src/mingw/ChangeLog.mingw32ce 2009-04-28 09:31:04 UTC (rev 1255) +++ trunk/cegcc/src/mingw/ChangeLog.mingw32ce 2009-04-28 13:42:34 UTC (rev 1256) @@ -1,3 +1,8 @@ +2009-04-28 Danny Backx <dan...@us...> + + * coredll6.def (LockFileEx,UnLockFileEx,GetSystemTimeAsFileTime) : + Add. See feature request #2750015. + 2009-04-26 Danny Backx <dan...@us...> * coredll6.def : New file. Modified: trunk/cegcc/src/mingw/coredll6.def =================================================================== --- trunk/cegcc/src/mingw/coredll6.def 2009-04-28 09:31:04 UTC (rev 1255) +++ trunk/cegcc/src/mingw/coredll6.def 2009-04-28 13:42:34 UTC (rev 1256) @@ -1669,3 +1669,8 @@ FindNextDevice GetDeviceInformationByDeviceHandle GetDeviceInformationByFileHandle +CaptureDumpFileOnDevice +ReportFault +LockFileEx +UnLockFileEx +GetSystemTimeAsFileTime This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2009-04-28 14:28:50
|
Revision: 1259 http://cegcc.svn.sourceforge.net/cegcc/?rev=1259&view=rev Author: dannybackx Date: 2009-04-28 14:28:49 +0000 (Tue, 28 Apr 2009) Log Message: ----------- GetMenu, and (Set,Get,Remove)Prop functions. Modified Paths: -------------- trunk/cegcc/src/w32api/ChangeLog.ce trunk/cegcc/src/w32api/include/winuser.h Modified: trunk/cegcc/src/w32api/ChangeLog.ce =================================================================== --- trunk/cegcc/src/w32api/ChangeLog.ce 2009-04-28 14:03:01 UTC (rev 1258) +++ trunk/cegcc/src/w32api/ChangeLog.ce 2009-04-28 14:28:49 UTC (rev 1259) @@ -1,3 +1,9 @@ +2009-04-28 Danny Backx <dan...@us...> + + * include/winuser.h(GetMenu) : Remove for CE. + * include/winuser.h(SetProp*,GetProp*,RemoveProp*) : Define only the + right ones for CE, see bug #2328033. + 2009-04-28 Ryan Raasch <rya...@gm...> * include/strmif.h (IEnumPins, IEnumMediaTypes) : Define. Modified: trunk/cegcc/src/w32api/include/winuser.h =================================================================== --- trunk/cegcc/src/w32api/include/winuser.h 2009-04-28 14:03:01 UTC (rev 1258) +++ trunk/cegcc/src/w32api/include/winuser.h 2009-04-28 14:28:49 UTC (rev 1259) @@ -3724,7 +3724,9 @@ WINUSERAPI int WINAPI GetKeyNameTextW(LONG,LPWSTR,int); WINUSERAPI SHORT WINAPI GetKeyState(int); WINUSERAPI HWND WINAPI GetLastActivePopup(HWND); +#ifndef _WIN32_WCE WINUSERAPI HMENU WINAPI GetMenu(HWND); +#endif WINUSERAPI LONG WINAPI GetMenuCheckMarkDimensions(void); WINUSERAPI DWORD WINAPI GetMenuContextHelpId(HMENU); WINUSERAPI UINT WINAPI GetMenuDefaultItem(HMENU,UINT,UINT); @@ -3996,8 +3998,12 @@ WINUSERAPI BOOL WINAPI ReleaseCapture(void); WINUSERAPI int WINAPI ReleaseDC(HWND,HDC); WINUSERAPI BOOL WINAPI RemoveMenu(HMENU,UINT,UINT); +#ifdef _WIN32_WCE +WINUSERAPI HANDLE WINAPI RemoveProp(HWND,LPCWSTR); +#else WINUSERAPI HANDLE WINAPI RemovePropA(HWND,LPCSTR); WINUSERAPI HANDLE WINAPI RemovePropW(HWND,LPCWSTR); +#endif WINUSERAPI BOOL WINAPI ReplyMessage(LRESULT); WINUSERAPI BOOL WINAPI ScreenToClient(HWND,LPPOINT); WINUSERAPI BOOL WINAPI ScrollDC(HDC,int,int,LPCRECT,LPCRECT,HRGN,LPRECT); @@ -4056,8 +4062,12 @@ WINUSERAPI BOOL WINAPI SetProcessDefaultLayout(DWORD); #endif /* (_WIN32_WINNT >= 0x0500) */ WINUSERAPI BOOL WINAPI SetProcessWindowStation(HWINSTA); +#ifdef _WIN32_WCE +WINUSERAPI BOOL WINAPI SetProp(HWND,LPCSTR,HANDLE); +#else WINUSERAPI BOOL WINAPI SetPropA(HWND,LPCSTR,HANDLE); WINUSERAPI BOOL WINAPI SetPropW(HWND,LPCWSTR,HANDLE); +#endif WINUSERAPI BOOL WINAPI SetRect(LPRECT,int,int,int,int); WINUSERAPI BOOL WINAPI SetRectEmpty(LPRECT); WINUSERAPI int WINAPI SetScrollInfo(HWND,int,LPCSCROLLINFO,BOOL); @@ -4309,7 +4319,9 @@ #define RegisterClipboardFormat RegisterClipboardFormatW #define RegisterDeviceNotification RegisterDeviceNotificationW #define RegisterWindowMessage RegisterWindowMessageW +#ifndef _WIN32_WCE #define RemoveProp RemovePropW +#endif #define SendDlgItemMessage SendDlgItemMessageW #define SendMessage SendMessageW #define SendMessageCallback SendMessageCallbackW @@ -4319,7 +4331,9 @@ #define SetClassLongPtr SetClassLongPtrW #define SetDlgItemText SetDlgItemTextW #define SetMenuItemInfo SetMenuItemInfoW +#ifndef _WIN32_WCE #define SetProp SetPropW +#endif #define SetUserObjectInformation SetUserObjectInformationW #define SetWindowLong SetWindowLongW #define SetWindowLongPtr SetWindowLongPtrW This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2009-04-28 14:08:06
|
Revision: 1257 http://cegcc.svn.sourceforge.net/cegcc/?rev=1257&view=rev Author: dannybackx Date: 2009-04-28 13:44:30 +0000 (Tue, 28 Apr 2009) Log Message: ----------- Typo Modified Paths: -------------- trunk/cegcc/src/mingw/ChangeLog.mingw32ce trunk/cegcc/src/mingw/coredll6.def Modified: trunk/cegcc/src/mingw/ChangeLog.mingw32ce =================================================================== --- trunk/cegcc/src/mingw/ChangeLog.mingw32ce 2009-04-28 13:42:34 UTC (rev 1256) +++ trunk/cegcc/src/mingw/ChangeLog.mingw32ce 2009-04-28 13:44:30 UTC (rev 1257) @@ -2,6 +2,7 @@ * coredll6.def (LockFileEx,UnLockFileEx,GetSystemTimeAsFileTime) : Add. See feature request #2750015. + * coredll6.def : Replace UnLockFileEx by UnlockFileEx. 2009-04-26 Danny Backx <dan...@us...> Modified: trunk/cegcc/src/mingw/coredll6.def =================================================================== --- trunk/cegcc/src/mingw/coredll6.def 2009-04-28 13:42:34 UTC (rev 1256) +++ trunk/cegcc/src/mingw/coredll6.def 2009-04-28 13:44:30 UTC (rev 1257) @@ -1672,5 +1672,5 @@ CaptureDumpFileOnDevice ReportFault LockFileEx -UnLockFileEx +UnlockFileEx GetSystemTimeAsFileTime This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2009-04-28 14:06:06
|
Revision: 1258 http://cegcc.svn.sourceforge.net/cegcc/?rev=1258&view=rev Author: dannybackx Date: 2009-04-28 14:03:01 +0000 (Tue, 28 Apr 2009) Log Message: ----------- Ismail's fix for recognizing more versions. My addition (on my disk for ages) for the other architecture. Modified Paths: -------------- trunk/cegcc/src/newlib/ChangeLog.cegcc trunk/cegcc/src/newlib/configure trunk/cegcc/src/newlib/configure.in Modified: trunk/cegcc/src/newlib/ChangeLog.cegcc =================================================================== --- trunk/cegcc/src/newlib/ChangeLog.cegcc 2009-04-28 13:44:30 UTC (rev 1257) +++ trunk/cegcc/src/newlib/ChangeLog.cegcc 2009-04-28 14:03:01 UTC (rev 1258) @@ -1,3 +1,12 @@ +2009-04-28 Danny Backx <dan...@us...> + + * configure, configure.in : recognize more targets. + +2009-04-28 Ismail Khatib <ik...@im...> + + * configure, configure.in : Make it recognize newer versions of + texinfo (4.9 was recognized, 4.13 not). + 2008-10-09 Pawel Veselov <paw...@gm...> newlib/ Modified: trunk/cegcc/src/newlib/configure =================================================================== --- trunk/cegcc/src/newlib/configure 2009-04-28 13:44:30 UTC (rev 1257) +++ trunk/cegcc/src/newlib/configure 2009-04-28 14:03:01 UTC (rev 1258) @@ -2724,7 +2724,7 @@ # ranlib from Darwin requires the -c flag to look at common symbols. extra_ranlibflags_for_target=" -c" ;; - mips*-*-pe | sh*-*-pe | *arm-wince-pe | *arm-wince-cegcc) + mips*-*-pe | sh*-*-pe | arm-unknown-* | *arm-wince-pe | *arm-wince-cegcc) target_makefile_frag="config/mt-wince" ;; esac @@ -3543,7 +3543,7 @@ # For an installed makeinfo, we require it to be from texinfo 4.2 or # higher, else we use the "missing" dummy. if ${MAKEINFO} --version \ - | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[2-9]|[5-9])' >/dev/null 2>&1; then + | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.)([2-9]|[1-9].*)' >/dev/null 2>&1; then : else MAKEINFO="$MISSING makeinfo" Modified: trunk/cegcc/src/newlib/configure.in =================================================================== --- trunk/cegcc/src/newlib/configure.in 2009-04-28 13:44:30 UTC (rev 1257) +++ trunk/cegcc/src/newlib/configure.in 2009-04-28 14:03:01 UTC (rev 1258) @@ -1519,7 +1519,7 @@ # ranlib from Darwin requires the -c flag to look at common symbols. extra_ranlibflags_for_target=" -c" ;; - mips*-*-pe | sh*-*-pe | *arm-wince-pe | *arm-wince-cegcc) + mips*-*-pe | sh*-*-pe | arm-unknown-* | *arm-wince-pe | *arm-wince-cegcc) target_makefile_frag="config/mt-wince" ;; esac @@ -2128,7 +2128,7 @@ # For an installed makeinfo, we require it to be from texinfo 4.2 or # higher, else we use the "missing" dummy. if ${MAKEINFO} --version \ - | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[2-9]|[5-9])' >/dev/null 2>&1; then + | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.)([2-9]|[1-9].*)' >/dev/null 2>&1; then : else MAKEINFO="$MISSING makeinfo" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2009-04-28 09:31:09
|
Revision: 1255 http://cegcc.svn.sourceforge.net/cegcc/?rev=1255&view=rev Author: dannybackx Date: 2009-04-28 09:31:04 +0000 (Tue, 28 Apr 2009) Log Message: ----------- Mention x86 processor target too. Modified Paths: -------------- trunk/cegcc/website/index.html Added Paths: ----------- trunk/cegcc/website/images/banner2.png trunk/cegcc/website/images/banner2.xcf Added: trunk/cegcc/website/images/banner2.png =================================================================== (Binary files differ) Property changes on: trunk/cegcc/website/images/banner2.png ___________________________________________________________________ Added: svn:mime-type + image/png Added: trunk/cegcc/website/images/banner2.xcf =================================================================== (Binary files differ) Property changes on: trunk/cegcc/website/images/banner2.xcf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Modified: trunk/cegcc/website/index.html =================================================================== --- trunk/cegcc/website/index.html 2009-04-28 05:12:09 UTC (rev 1254) +++ trunk/cegcc/website/index.html 2009-04-28 09:31:04 UTC (rev 1255) @@ -7,13 +7,13 @@ </head> <body> <p> -<img src="images/banner1.png" alt="CeGCC cross compiler for PocketPC"> +<img src="images/banner2.png" alt="CeGCC cross compiler for Windows CE"> <p> <table border="3"> <tr><td width="66%"> <p> <font size="+1"> -The CeGCC project implements cross-development tools for Windows CE (PocketPC). +The CeGCC project implements a cross compiler for Windows CE. You can develop on a PC, and create apps that run on a PDA or a WinCE cell phone. </font> </td> @@ -24,13 +24,27 @@ generate code for Windows CE devices such as PDA's and smart phones. Our intended development platforms are the usual GNU development workstations, e.g. <a href="http://www.linux.org">GNU/Linux</a>, -<a href="http://www.freebsd.org">FreeBSD</a>, or +<a href="http://www.freebsd.org">FreeBSD</a>, +<a href="http://www.apple.com/macosx/">MacOS X</a>, or <a href="http://www.cygwin.com">cygwin</a>. <p> -We have two products : +Windows CE, Windows Mobile, Windows Embedded, PocketPC, SmartPhone, .. +many of these names refer to variations on the same target platform. +We currently see evolution to support not only the +<A HREF="www.arm.com">ARM</A> +<A HREF="http://en.wikipedia.org/wiki/ARM_architecture">processor family</A> +but also Windows CE on +<A HREF="http://en.wikipedia.org/wiki/X86">x86 processors</A> +(e.g. <A HREF="http://www.compactpc.com.tw">eBox</A>) +which includes the +<A HREF="http://www.intel.com/technology/atom/index.htm">Intel Atom</A> processor +(<A HREF="http://www.windowsfordevices.com/news/NS5466627119.html">CE on Atom</A>) +<p> +These are our current <i>products</i> : <ul> <li>arm-mingw32ce : toolset to build native Windows CE applications <li>arm-cegcc : toolset to port unix source to Windows CE + <li><font color="red"><i>(coming soon)</i> i386-mingw32ce</font> : toolset to build native Windows CE applications for x86 powered devices </ul> <i>In versions prior to 0.55, these were called <b>arm-wince-mingw32ce</b> and <b>arm-wince-cegcc</b> but we changed this in agreement with other projects, @@ -55,7 +69,7 @@ <td> Cygwin host </td> </tr> <tr> - <td> arm-mingw32ce </td> + <td> arm/i386-mingw32ce </td> <td> Develop on Linux, create Windows CE native apps </td> <td> Develop on Cygwin, create Windows CE native apps </td> </tr> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2009-04-28 05:12:25
|
Revision: 1254 http://cegcc.svn.sourceforge.net/cegcc/?rev=1254&view=rev Author: dannybackx Date: 2009-04-28 05:12:09 +0000 (Tue, 28 Apr 2009) Log Message: ----------- Part of a submission by Ryan, the other part already appeared after Pedro's recent upgrade. Modified Paths: -------------- trunk/cegcc/src/w32api/ChangeLog.ce trunk/cegcc/src/w32api/include/strmif.h Modified: trunk/cegcc/src/w32api/ChangeLog.ce =================================================================== --- trunk/cegcc/src/w32api/ChangeLog.ce 2009-04-27 18:44:47 UTC (rev 1253) +++ trunk/cegcc/src/w32api/ChangeLog.ce 2009-04-28 05:12:09 UTC (rev 1254) @@ -1,3 +1,7 @@ +2009-04-28 Ryan Raasch <rya...@gm...> + + * include/strmif.h (IEnumPins, IEnumMediaTypes) : Define. + 2009-04-20 Johnny Willemsen <jwi...@re...> * include/winbase.h (CeSetThreadPriority, CeGetThreadPriority) : Modified: trunk/cegcc/src/w32api/include/strmif.h =================================================================== --- trunk/cegcc/src/w32api/include/strmif.h 2009-04-27 18:44:47 UTC (rev 1253) +++ trunk/cegcc/src/w32api/include/strmif.h 2009-04-28 05:12:09 UTC (rev 1254) @@ -1221,6 +1221,34 @@ }; #undef INTERFACE +EXTERN_C const IID IID_IEnumPins; +#define INTERFACE IEnumPins +DECLARE_INTERFACE_(IEnumPins, IUnknown) +{ + STDMETHOD(QueryInterface) (THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG, AddRef) (THIS) PURE; + STDMETHOD_(ULONG, Release) (THIS) PURE; + STDMETHOD_(HRESULT, Clone) (THIS_ struct IEnumPins** ) PURE; + STDMETHOD_(HRESULT, Next) (THIS_ ULONG, struct IPin**, ULONG*) PURE; + STDMETHOD_(VOID, Reset) (THIS) PURE; + STDMETHOD_(HRESULT, Skip) (THIS_ ULONG) PURE; +}; +#undef INTERFACE + +EXTERN_C const IID IID_IEnumMediaTypes; +#define INTERFACE IEnumMediaTypes +DECLARE_INTERFACE_(IEnumMediaTypes, IUnknown) +{ + STDMETHOD(QueryInterface) (THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG, AddRef) (THIS) PURE; + STDMETHOD_(ULONG, Release) (THIS) PURE; + STDMETHOD_(HRESULT, Clone) (THIS_ struct IEnumMediaTypes** ) PURE; + STDMETHOD_(HRESULT, Next) (THIS_ ULONG, AM_MEDIA_TYPE**, ULONG) PURE; + STDMETHOD_(VOID, Reset) (THIS) PURE; + STDMETHOD_(HRESULT, Skip) (THIS_ ULONG) PURE; +}; +#undef INTERFACE + EXTERN_C const IID IID_IBaseFilter; #define INTERFACE IBaseFilter DECLARE_INTERFACE_(IBaseFilter, IUnknown) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2009-04-27 18:44:58
|
Revision: 1253 http://cegcc.svn.sourceforge.net/cegcc/?rev=1253&view=rev Author: dannybackx Date: 2009-04-27 18:44:47 +0000 (Mon, 27 Apr 2009) Log Message: ----------- Implement filters to make this less verbose. Print stack trace info. Modified Paths: -------------- trunk/cegcc/tools/cedump/DwCeDump.h trunk/cegcc/tools/cedump/cedump.c Modified: trunk/cegcc/tools/cedump/DwCeDump.h =================================================================== --- trunk/cegcc/tools/cedump/DwCeDump.h 2009-04-27 14:17:03 UTC (rev 1252) +++ trunk/cegcc/tools/cedump/DwCeDump.h 2009-04-27 18:44:47 UTC (rev 1253) @@ -324,7 +324,7 @@ ULONG32 ThreadId; USHORT SizeOfFrame; USHORT NumberOfFrames; - RVA StackFramess; + RVA StackFrames; } CEDUMP_THREAD_CALL_STACK, *PCEDUMP_THREAD_CALL_STACK; /* Modified: trunk/cegcc/tools/cedump/cedump.c =================================================================== --- trunk/cegcc/tools/cedump/cedump.c 2009-04-27 14:17:03 UTC (rev 1252) +++ trunk/cegcc/tools/cedump/cedump.c 2009-04-27 18:44:47 UTC (rev 1253) @@ -32,29 +32,145 @@ #include "DwCeDump.h" -typedef void (*StreamHandler)(FILE *, int, int); +/* + * Use this list to make the HandleElementList less verbose + */ +typedef struct { + char *arg; +} Arguments; +typedef void (*StreamHandler)(FILE *, int, int, Arguments *); -void HandleSystemInfo(FILE *, int, int); -void HandleElementList(FILE *, int, int); -void HandleException(FILE *, int, int); +void HandleSystemInfo(FILE *, int, int, Arguments *); +void HandleException(FILE *, int, int, Arguments *); +void HandleThreadCallStack(FILE *, int, int, Arguments *); +void HandleElementList(FILE *, int, int, Arguments *); + +/* + * The list of fields to report about for Modules + * + * Name : NK.EXE + * Base Ptr : 0x80001000 + * Size : 442368 + * RW Data Start : 0x802D6000 + * RW Data End : 0x80368FB3 + * Timestamp : 0x349ED8B6 + * PDB Format : RSDS + * PDB Guid : %U + * PDB Age : 1 + * hDll : 0x00000000 + * In Use : 0x00000001 + * Flags : + * Trust Level : 2 + * RefCount : + * Pointer : 0x%08kX + * FileVersionMS : 0x00050002 + * FileVersionLS : 0x00000000 + * ProductVersionMS : 0x00050002 + * ProductVersionLS : 0x00000000 + * PDB Name : kernkitl.pdb + */ +Arguments ArgML[] = { + "Name", + "Base Ptr", + NULL +}; + +/* + * The list of fields to report about for Processes + * Pick your labels from this list : + * ProcSlot# : 15 + * Name : wroadmap.exe + * VMBase : 0x20000000 + * AccessKey : 0x00008000 + * TrustLevel : + * hProcess : 0xA0D26B72 + * BasePtr : 0x00010000 + * TlsUseL32b : 0x000000FF + * TlsUseH32b : 0x00000000 + * CurZoneMask : 0x00000000 + * pProcess : 0x8034E070 + * CmdLine : + */ +Arguments ArgPL[] = { + "ProcSlot#", + "Name", + "VMBase", + "pProcess", + "BasePtr", + NULL +}; + +/* + * The list of fields to report about for Threads + * Here's an example that you can pick labels from. + * pThread : 0x851FA7C0 + * RunState : Awak,RunBlkd + * InfoStatus : UMode,UsrBlkd + * hThread : 0xE5E91CDA + * WaitState : + * AccessKey : 0x00008011 + * hCurProcIn : 0xA718C392 + * hOwnerProc : 0xA0D26B72 + * CurPrio : 2698144763 + * BasePrio : 2698144763 + * KernelTime : 0 + * UserTime : 381 + * Quantum : 100 + * QuantuLeft : 100 + * SleepCount : 29489432 + * SuspendCount : 29489408 + * TlsPtr : 0x2064FF00 + * LastError : 0x00000000 + * StackBase : 0x20550000 + * StkLowBnd : 0x2064F000 + * CreatTimeH : 0x01C9BDA3 + * CreatTimeL : 0xC3DB0700 + * PC : 0x80016F08 + * NcrPtr : 0x00000000 + * StkRetAddr : 0x03F63AB0 + * + */ +Arguments ArgTL[] = { + "pThread", + "RunState", + "hThread", + "LastError", + "PC", + "StkRetAddr", + NULL +}; + +/* + * The list of fields to report about for Thread Contexts + * + * ThreadID : 0xa17a19a2 + * Arm Integer Context : + * + */ +Arguments ArgTCL[] = { + "ThreadID", + NULL +}; + struct { enum _MINIDUMP_STREAM_TYPE stream_type; char *name; StreamHandler handler; + Arguments *arguments; } StreamTypes[] = { - { UnusedStream, "Unused Stream", NULL }, - { ceStreamNull, "Stream Null", NULL }, - { ceStreamSystemInfo, "System info", HandleSystemInfo }, - { ceStreamException, "Exception", HandleException }, - { ceStreamModuleList, "Module", HandleElementList }, - { ceStreamProcessList, "Process", HandleElementList }, - { ceStreamThreadList, "Thread", HandleElementList }, - { ceStreamThreadContextList, "Thread Context", HandleElementList }, - { ceStreamThreadCallStackList, "Thread Callstack", NULL }, - { ceStreamMemoryVirtualList, "Memory virtual list", NULL }, - { ceStreamMemoryPhysicalList, "Memory physical list", NULL }, - { ceStreamBucketParameters, "Bucket parameters", NULL }, + { UnusedStream, "Unused Stream", NULL, NULL }, + { ceStreamNull, "Stream Null", NULL, NULL }, + { ceStreamSystemInfo, "System info", HandleSystemInfo, NULL }, + { ceStreamException, "Exception", HandleException, NULL }, + { ceStreamModuleList, "Module", HandleElementList, ArgML }, + { ceStreamProcessList, "Process", HandleElementList, ArgPL }, + { ceStreamThreadList, "Thread", HandleElementList, ArgTL }, + { ceStreamThreadContextList, "Thread Context", HandleElementList, ArgTCL }, + { ceStreamThreadCallStackList, "Thread Callstack", HandleThreadCallStack, NULL }, + { ceStreamMemoryVirtualList, "Memory virtual list", NULL, NULL }, + { ceStreamMemoryPhysicalList, "Memory physical list", NULL, NULL }, + { ceStreamBucketParameters, "Bucket parameters", NULL, NULL }, /* The end */ { LastReservedStream, NULL, NULL } }; @@ -119,7 +235,8 @@ if (StreamTypes[j].handler) { (StreamTypes[j].handler)(f, d[i].Location.Rva, - d[i].Location.DataSize); + d[i].Location.DataSize, + StreamTypes[j].arguments); } } @@ -148,7 +265,7 @@ return oem; } -void HandleSystemInfo(FILE *f, int off, int len) +void HandleSystemInfo(FILE *f, int off, int len, Arguments *arg) { int l; CEDUMP_SYSTEM_INFO si; @@ -238,21 +355,21 @@ } } -void HandleElementList(FILE *f, int off, int len) +void HandleElementList(FILE *f, int off, int len, Arguments *arg) { CEDUMP_ELEMENT_LIST el; CEDUMP_FIELD_INFO *field; char *label, *format; - int i, j, sz; - int pos; - char buf[256]; + int i, j, sz, k, pos; + int bufsize = 0; + char *buf = NULL; fseek(f, off, SEEK_SET); fread(&el, sizeof(el), 1, f); // field = calloc(el.NumberOfFieldInfo, sizeof(CEDUMP_FIELD_INFO)); field = malloc(len); fread(field, sizeof(CEDUMP_FIELD_INFO), el.NumberOfFieldInfo, f); - +#if 0 fprintf(stderr, "Element list : header size %d, field info sz %d\n" "\t# field info %d, #elements %d\n" "\tElements at 0x%X..0x%X\n", @@ -261,35 +378,71 @@ el.NumberOfFieldInfo, el.NumberOfElements, el.Elements, el.Elements + len); - +#endif /* Count sizes */ for (sz=i=0; i<el.NumberOfFieldInfo; i++) { sz += field[i].FieldSize; } +#if 0 fprintf(stderr, "Field sizes add up to %d, so elements from 0x%X .. 0x%X\n", sz, el.Elements, el.Elements + sz * el.NumberOfElements); - +#endif /* Start looking from el.Elements */ pos = el.Elements; for (j=0; j < el.NumberOfElements; j++) { + fprintf(stderr, " Element %d :\n", j); for (i=0; i<el.NumberOfFieldInfo; i++) { - fseek(f, pos, SEEK_SET); - fread(buf, sizeof(char), field[i].FieldSize, f); + int thispos; + /* Figure out whether we need to collect this */ label = ReadString(f, field[i].FieldLabel); - format = ReadString(f, field[i].FieldFormat); + thispos = pos; + pos += field[i].FieldSize; #if 1 - fprintf(stderr, " Field %d : %s ", i, label); -#else + /* Make this program less verbose */ + if (arg) { + int req = 0; + for (k=0; arg[k].arg && !req; k++) + if (strcmp(arg[k].arg, label) == 0) + req++; + if (req == 0) + continue; + } +#endif + + fseek(f, thispos, SEEK_SET); + if (bufsize < field[i].FieldSize) { + if (buf) + free(buf); + bufsize = field[i].FieldSize; + buf = malloc(bufsize); + } + memset(buf, 0, bufsize); + fread(buf, sizeof(char), field[i].FieldSize, f); + + format = ReadString(f, field[i].FieldFormat); +#if 0 + if (strcmp(label, "ProcSlot#") == 0) { + int i; + for (i=0; i<4; i++) + fprintf(stderr, "%d ", 255 & buf[i]); + fprintf(stderr, "\n"); + } +#endif +#if 0 fprintf(stderr, " Field %d : %s (id %d, off %X, fmt %s, len %d) ", i, label, field[i].FieldId, pos, format, field[i].FieldSize); #endif - pos += field[i].FieldSize; +#if 0 + fprintf(stderr, " Field %d : %s ", i, label); +#else + fprintf(stderr, "\t%s : ", label); +#endif if (strncmp(format, "%N", 2) == 0) { PrintEnumeration(buf, format); @@ -308,36 +461,9 @@ } } -#if 0 - fseek(f, pos, SEEK_SET); - fread(buf, 1, pos - el.Elements, f); - - for (i=0; i<pos-el.Elements; i++) - if (i == 0) - fprintf(stderr, "\t%02X", 255 & buf[i]); - else if ((i % 16) == 0) - fprintf(stderr, "\n\t%02X", 255 & buf[i]); - else - fprintf(stderr, " %02X", 255 & buf[i]); - if ((pos - el.Elements) % 16 != 0) - fprintf(stderr, "\n"); - - for (i=0; i<pos-el.Elements; i++) - if (i == 0) - fprintf(stderr, "\t %c", - isprint(buf[i]) ? 255 & buf[i] : '.'); - else if ((i % 16) == 0) - fprintf(stderr, "\n\t %c", - isprint(buf[i]) ? 255 & buf[i] : '.'); - else - fprintf(stderr, " %c", - isprint(buf[i]) ? 255 & buf[i] : '.'); - if ((pos - el.Elements) % 16 != 0) - fprintf(stderr, "\n"); -#endif } -void HandleException(FILE *f, int off, int len) +void HandleException(FILE *f, int off, int len, Arguments *arg) { CEDUMP_EXCEPTION_STREAM exs; CEDUMP_EXCEPTION ex; @@ -358,3 +484,48 @@ fprintf(stderr, "Parameter %d : [%X]\n", i, param[i]); } + +void HandleThreadCallStack(FILE *f, int off, int len, Arguments *arg) +{ + CEDUMP_THREAD_CALL_STACK_LIST tcsl; + CEDUMP_THREAD_CALL_STACK *tcs; + CEDUMP_THREAD_CALL_STACK_FRAME frame; + char *label, *format; + int i, j, sz, k, pos; + int bufsize = 0; + char *buf = NULL; + + fseek(f, off, SEEK_SET); + fread(&tcsl, sizeof(tcsl), 1, f); + + tcs = calloc(tcsl.NumberOfEntries, sizeof(CEDUMP_THREAD_CALL_STACK)); + fread(tcs, sizeof(CEDUMP_THREAD_CALL_STACK), tcsl.NumberOfEntries, f); + + fprintf(stderr, "Thread Call Stack List : %d entries\n", tcsl.NumberOfEntries); + for (i=0; i<tcsl.NumberOfEntries; i++) { + fprintf(stderr, " Process %08X thread %08X, %d frames\n", + tcs[i].ProcessId, + tcs[i].ThreadId, + tcs[i].NumberOfFrames); + + for (j=0; j<tcs[i].NumberOfFrames; j++) { + fseek(f, tcs[i].StackFrames, SEEK_SET); + fread(&frame, sizeof(frame), 1, f); + + fprintf(stderr, " Frame %d : RetAddr 0x%08X FP 0x%08X\n", + j, + frame.ReturnAddr, + frame.FramePtr); + } + } + + free(tcs); +#if 0 + frame = calloc(tcs.NumberOfFrames, sizeof(CEDUMP_THREAD_CALL_STACK_FRAME)); + fread(frame, sizeof(CEDUMP_THREAD_CALL_STACK_FRAME), tcs.NumberOfFrames, f); + + for (i=0; i<tcs.NumberOfFrames; i++) { + fprintf(stderr, " Frame %d : ", i); + } +#endif +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2009-04-27 14:17:06
|
Revision: 1252 http://cegcc.svn.sourceforge.net/cegcc/?rev=1252&view=rev Author: dannybackx Date: 2009-04-27 14:17:03 +0000 (Mon, 27 Apr 2009) Log Message: ----------- Copydump is an additional program to copy dump files from the standard place into /Temp . This can be useful because File Explorer won't copy these files for you. Cedump is extended to print a lot more info, now it prints a nice list of all the DLLs loaded by the crashing application too. Only drawback is it's way too verbose. Modified Paths: -------------- trunk/cegcc/tools/cedump/DwCeDump.h trunk/cegcc/tools/cedump/Makefile trunk/cegcc/tools/cedump/cedump.c Added Paths: ----------- trunk/cegcc/tools/cedump/copydump.c Modified: trunk/cegcc/tools/cedump/DwCeDump.h =================================================================== --- trunk/cegcc/tools/cedump/DwCeDump.h 2009-04-26 17:10:11 UTC (rev 1251) +++ trunk/cegcc/tools/cedump/DwCeDump.h 2009-04-27 14:17:03 UTC (rev 1252) @@ -1,10 +1,109 @@ +/* + * cedump + * + * Portable application that inspects a CE dump file and reports about + * its contents. This is type type of information that CE offers to send + * to Microsoft free of charge to you. + * + * LICENSE: + * + * Copyright (c) 2009, Danny Backx. + * + * This file is part of CeGCC. + * + * This is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This file is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this file; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +/* + * Dump File Format + * + * http://msdn.microsoft.com/en-us/library/ms939593.aspx + * + * The Error Reporting dump format uses Relative Virtual Addresses (RVA) + * to describe the location of a data member within a file. + * An RVA is an offset from the beginning of a file. + * + * Because a minidump for a target device must be readable on another + * device, all structures in the dump file are the same size, regardless + * of the architecture of the faulting device. + * + * The dump file format specifies a set of directories that point to the data. + * + * Each directory specifies the following: + * * Data type + * * Data size + * * RVA to the location of the data in the dump file + * + * Each file permits only one directory of a specific type. + * The basic dump file format is a single MINIDUMP_HEADER followed + * by n MINIDUMP_DIRECTORY entries followed by n data entries. + * + * The MINIDUMP_HEADER specifies how many MINIDUMP_DIRECTORY entries follow. + * Each MINIDUMP_DIRECTORY entry points to data in the dump data section. + * + * The following diagram shows the relationship of the data structures + * used in dump files. + * + * MINIDUMP_HEADER + * Signature + * Version + * NumberOfStreams + * StreamDirectoryRva + * Directory [ 0 ] + * StreamType = ceStreamSystemInfo + * DataSize + * DataRva + * + * Directory [ 1 ] + * StreamType = ceStreamException + * DataSize + * DataRva + * + * Directory [NumberOfStreams – 1] + * StreamType = ceStreamThreadContextList + * DataSize + * DataRva + * + * Data [ 0 ] (_CEDUMP_SYSTEM_INFO) + * SizeOfHeader + * ProcessorArchitecture + * NumberOfProcessors + * + * Data [ 1 ] (_CEDUMP_EXCEPTION_STREAM) + * SizeOfHeader + * SizeOfException + * SizeOfThreadContext + * + * Data [NumberOfStreams – 1](_CEDUMP_ELEMENT_LIST) + * SizeOfHeader + * SizeOfFieldInfo + * NumberOfFieldInfo + * NumberOfElements + * Elements + * FieldInfo [ 0 ] (_CEDUMP_FIELD_INFO) + * FieldId + * FieldSize + * FieldLabel + * FieldFormat + */ #ifndef __DwCeDump_H__ #define __DwCeDump_H__ -typedef unsigned int RVA; +typedef unsigned int RVA; /* Offset from beginning of file */ typedef unsigned int ULONG32; typedef unsigned long ULONG64; -typedef wchar_t WCHAR; +typedef wchar_t WCHAR; /* beware : differs between host and target */ typedef unsigned short USHORT; typedef unsigned long DWORD; @@ -100,7 +199,7 @@ * This structure is used to define the ceStreamBucketParameters stream. */ typedef struct _CEDUMP_BUCKET_PARAMETERS { - USHORT SizeOfHeader; + USHORT SizeOfHeader; /* Size of this structure */ USHORT __unusedAlignment; RVA EventType; ULONG32 fDebug; /* Type of app build, 1 = debug, 0 = release */ @@ -148,26 +247,26 @@ * and operating system with which the dump file was generated. */ typedef struct _CEDUMP_SYSTEM_INFO { - USHORT SizeOfHeader; - USHORT ProcessorArchitecture; - ULONG32 NumberOfProcessors; - ULONG32 ProcessorType; - USHORT ProcessorLevel; - USHORT ProcessorRevision; - ULONG32 ProcessorFamily; - ULONG32 MajorVersion; - ULONG32 MinorVersion; - ULONG32 BuildNumber; - ULONG32 PlatformId; - ULONG32 LCID; - RVA OEMStringRva; - ULONG32 SupportFlags; - USHORT Machine; + USHORT SizeOfHeader; /* Size of this structure */ + USHORT ProcessorArchitecture; /* Same as wProcessorArchitecture from SYSTEM_INFO structure */ + ULONG32 NumberOfProcessors; /* Same as dwNumberOfProcessors from SYSTEM_INFO structure */ + ULONG32 ProcessorType; /* Same as wProcessorType from SYSTEM_INFO */ + USHORT ProcessorLevel; /* Same as wProcessorLevel from SYSTEM_INFO */ + USHORT ProcessorRevision; /* .. */ + ULONG32 ProcessorFamily; /* PROCESSOR_FAMILY_ ARM/SH4/MIPS4/MIPS/X86 */ + ULONG32 MajorVersion; /* Same as dwMajorVersion of OSVERSIONINFO */ + ULONG32 MinorVersion; /* Same as dwMinorVersion of OSVERSIONINFO */ + ULONG32 BuildNumber; /* Same as dwBuildNumber of OSVERSIONINFO */ + ULONG32 PlatformId; /* Same as dwPlatformId of OSVERSIONINFO */ + ULONG32 LCID; /* Locale identifier */ + RVA OEMStringRva; /* RVA of the OEM string in the dump file */ + ULONG32 SupportFlags; /* Reserved for future use */ + USHORT Machine; /* IMAGE_FILE_MACHINE_ I386/IA64/AMD64/ALPHA/POWERPC */ USHORT __unusedAlignment; - RVA PlatformTypeRva; - DWORD Platforms; - RVA PlatformVersion; - DWORD InstructionSet; + RVA PlatformTypeRva; /* RVA of platform type string, may have embedded NULL characters */ + DWORD Platforms; /* Numer of structures pointed to by PlatformVersion */ + RVA PlatformVersion; /* Points to an array of PLATFORMVERSION */ + DWORD InstructionSet; /* Result of QueryInstructionSet */ DWORD __unusedAlignment2; } CEDUMP_SYSTEM_INFO, *PCEDUMP_SYSTEM_INFO; @@ -184,14 +283,14 @@ * This structure contains the exception record for the exception * that caused the dump file to be generated. */ -#define EXCEPTION_MAXIMUM_PARAMETERS 0 /* ?? */ +#define EXCEPTION_MAXIMUM_PARAMETERS 15 /* Max 15 parameters of 4 bytes each */ typedef struct _CEDUMP_EXCEPTION { ULONG32 ExceptionCode; ULONG32 ExceptionFlags; ULONG32 ExceptionRecord; ULONG32 ExceptionAddress; ULONG32 NumberParameters; - ULONG32 ExceptionInformation [ EXCEPTION_MAXIMUM_PARAMETERS ]; + ULONG32 ExceptionInformation [ 0 ]; /* placeholder */ } CEDUMP_EXCEPTION, *PCEDUMP_EXCEPTION; /* @@ -203,6 +302,12 @@ USHORT SizeOfException; USHORT SizeOfThreadContext; USHORT Flags; + /* Bitfield : + * bit 0 this is a first chance exception dump + * bit 1 CaptureDumpFileOnDevice called + * bit 2 ReportFault called + * bit 3 exception thread id matches dump thread + */ ULONG32 CurrentProcessId; ULONG32 ThreadId; ULONG32 OwnerProcessId; Modified: trunk/cegcc/tools/cedump/Makefile =================================================================== --- trunk/cegcc/tools/cedump/Makefile 2009-04-26 17:10:11 UTC (rev 1251) +++ trunk/cegcc/tools/cedump/Makefile 2009-04-27 14:17:03 UTC (rev 1252) @@ -2,7 +2,7 @@ CFLAGS= -g WCFLAGS= -I../errno -g -all: cedump cedump.exe +all: cedump cedump.exe copydump.exe cedump: cedump.c DwCeDump.h $(CC) ${CFLAGS} -o $@ $< @@ -10,3 +10,10 @@ cedump.exe: cedump.c DwCeDump.h $(TARGET)-gcc ${WCFLAGS} -o $@ $< ../errno/liberrno.a +copydump.exe: copydump.c + $(TARGET)-gcc ${WCFLAGS} -o $@ $< ../errno/liberrno.a + +clean:: + -rm -f *.o core.* + -rm -f cedump cedump.exe copydump.exe + -rm -f *~ Modified: trunk/cegcc/tools/cedump/cedump.c =================================================================== --- trunk/cegcc/tools/cedump/cedump.c 2009-04-26 17:10:11 UTC (rev 1251) +++ trunk/cegcc/tools/cedump/cedump.c 2009-04-27 14:17:03 UTC (rev 1252) @@ -1,13 +1,41 @@ +/* + * cedump + * + * Portable application that inspects a CE dump file and reports about + * its contents. This is type type of information that CE offers to send + * to Microsoft free of charge to you. + * + * LICENSE: + * + * Copyright (c) 2009, Danny Backx. + * + * This file is part of CeGCC. + * + * This is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This file is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this file; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ #include <stdio.h> #include <stdlib.h> #include <errno.h> +#include <string.h> #include "DwCeDump.h" typedef void (*StreamHandler)(FILE *, int, int); void HandleSystemInfo(FILE *, int, int); -void HandleField(FILE *, int, int); +void HandleElementList(FILE *, int, int); void HandleException(FILE *, int, int); struct { @@ -15,18 +43,18 @@ char *name; StreamHandler handler; } StreamTypes[] = { - { UnusedStream, "Unused Stream", NULL }, - { ceStreamNull, "Stream Null", NULL }, - { ceStreamSystemInfo, "System info", HandleSystemInfo }, - { ceStreamException, "Exception", HandleException }, - { ceStreamModuleList, "Module", HandleField }, - { ceStreamProcessList, "Process", HandleField }, - { ceStreamThreadList, "Thread", HandleField }, - { ceStreamThreadContextList, "Thread Context", HandleField }, - { ceStreamThreadCallStackList, "Thread Callstack", NULL }, - { ceStreamMemoryVirtualList, "Memory virtual list", NULL }, - { ceStreamMemoryPhysicalList, "Memory physical list", NULL }, - { ceStreamBucketParameters, "Bucket parameters", NULL }, + { UnusedStream, "Unused Stream", NULL }, + { ceStreamNull, "Stream Null", NULL }, + { ceStreamSystemInfo, "System info", HandleSystemInfo }, + { ceStreamException, "Exception", HandleException }, + { ceStreamModuleList, "Module", HandleElementList }, + { ceStreamProcessList, "Process", HandleElementList }, + { ceStreamThreadList, "Thread", HandleElementList }, + { ceStreamThreadContextList, "Thread Context", HandleElementList }, + { ceStreamThreadCallStackList, "Thread Callstack", NULL }, + { ceStreamMemoryVirtualList, "Memory virtual list", NULL }, + { ceStreamMemoryPhysicalList, "Memory physical list", NULL }, + { ceStreamBucketParameters, "Bucket parameters", NULL }, /* The end */ { LastReservedStream, NULL, NULL } }; @@ -42,7 +70,9 @@ if (argc != 2) { fprintf(stderr, "Usage: %s dumpfile\n", argv[0]); - fprintf(stderr, "Usual place : /windows/system/dumpfiles/ceMMDDYY-NN/ceMMDDYY-NN.kdmp\n"); + fprintf(stderr, + "Usual place : " + "/windows/system/dumpfiles/ceMMDDYY-NN/ceMMDDYY-NN.kdmp\n"); exit(1); } if (!f) { @@ -144,22 +174,167 @@ free(oem); } -void HandleField(FILE *f, int off, int len) +void PrintBitfield(char *buf, char *format) { -#if 0 - CEDUMP_FIELD_INFO field; + char *p, *q; + char txt[64]; + int bit; + unsigned int fld; + int set; + int first = 1; + + fld = *(unsigned int *)buf; + +// fprintf(stderr, "BitField(%u, %s) ", fld, format); + + for (p = format+3; p && *p; p = q ? q+1 : 0) { + q = strchr(p, ','); + if (!q) + q = strchr(p, '}'); + + sscanf(p, "%d=%[^,}]", &bit, &txt); + + if (bit < 32) { + set = fld & (1 << bit); + if (set) { + if (first) + fprintf(stderr, "%s", txt); + else + fprintf(stderr, ",%s", txt); + first = 0; + } + } else { + set = fld & (1 << (bit-32)); + if (! set) { + if (first) + fprintf(stderr, "%s", txt); + else + fprintf(stderr, ",%s", txt); + first = 0; + } + } + } +} + +void PrintEnumeration(char *buf, char *format) +{ + char *p, *q; + char txt[64]; + int bit; + unsigned int fld; + int set; + + fld = *(unsigned int *)buf; + + for (p = format+2; p && *p; p = q ? q+1 : 0) { + q = strchr(p, ','); + sscanf(p, "%d=%[^,}]", &bit, &txt); + + if (bit == fld) { + fprintf(stderr, "%s", txt); +// fprintf(stderr, "Enumeration (%s)", txt); + return; + } + } +} + +void HandleElementList(FILE *f, int off, int len) +{ + CEDUMP_ELEMENT_LIST el; + CEDUMP_FIELD_INFO *field; char *label, *format; + int i, j, sz; + int pos; + char buf[256]; fseek(f, off, SEEK_SET); - fread(&field, sizeof(field), 1, f); + fread(&el, sizeof(el), 1, f); +// field = calloc(el.NumberOfFieldInfo, sizeof(CEDUMP_FIELD_INFO)); + field = malloc(len); + fread(field, sizeof(CEDUMP_FIELD_INFO), el.NumberOfFieldInfo, f); - fprintf(stderr, "Field at off %x, totsize %d, size %d\n", - off, len, field.FieldSize); - label = ReadString(f, field.FieldLabel); -// format = ReadString(f, field.FieldFormat); - fprintf(stderr, "\tlabel (%s)\n", label); - free(label); + fprintf(stderr, "Element list : header size %d, field info sz %d\n" + "\t# field info %d, #elements %d\n" + "\tElements at 0x%X..0x%X\n", + el.SizeOfHeader, + el.SizeOfFieldInfo, + el.NumberOfFieldInfo, + el.NumberOfElements, + el.Elements, el.Elements + len); + + /* Count sizes */ + for (sz=i=0; i<el.NumberOfFieldInfo; i++) { + sz += field[i].FieldSize; + } + fprintf(stderr, "Field sizes add up to %d, so elements from 0x%X .. 0x%X\n", + sz, + el.Elements, + el.Elements + sz * el.NumberOfElements); + + /* Start looking from el.Elements */ + pos = el.Elements; + for (j=0; j < el.NumberOfElements; j++) { + for (i=0; i<el.NumberOfFieldInfo; i++) { + fseek(f, pos, SEEK_SET); + fread(buf, sizeof(char), field[i].FieldSize, f); + + label = ReadString(f, field[i].FieldLabel); + format = ReadString(f, field[i].FieldFormat); + +#if 1 + fprintf(stderr, " Field %d : %s ", i, label); +#else + fprintf(stderr, " Field %d : %s (id %d, off %X, fmt %s, len %d) ", + i, label, + field[i].FieldId, pos, + format, field[i].FieldSize); #endif + pos += field[i].FieldSize; + + if (strncmp(format, "%N", 2) == 0) { + PrintEnumeration(buf, format); + } else if (strncmp(format, "%T", 2) == 0) { + PrintBitfield(buf, format); + } else if (strcmp(format, "0x%08lX") == 0) { + fprintf(stderr, "0x%08X", *(int *)buf); + } else if (strcmp(format, "%s") == 0) { + fprintf(stderr, format, buf); + } else + fprintf(stderr, format, *(int *)buf); + fprintf(stderr, "\n"); + + free(label); + free(format); + } + } + +#if 0 + fseek(f, pos, SEEK_SET); + fread(buf, 1, pos - el.Elements, f); + + for (i=0; i<pos-el.Elements; i++) + if (i == 0) + fprintf(stderr, "\t%02X", 255 & buf[i]); + else if ((i % 16) == 0) + fprintf(stderr, "\n\t%02X", 255 & buf[i]); + else + fprintf(stderr, " %02X", 255 & buf[i]); + if ((pos - el.Elements) % 16 != 0) + fprintf(stderr, "\n"); + + for (i=0; i<pos-el.Elements; i++) + if (i == 0) + fprintf(stderr, "\t %c", + isprint(buf[i]) ? 255 & buf[i] : '.'); + else if ((i % 16) == 0) + fprintf(stderr, "\n\t %c", + isprint(buf[i]) ? 255 & buf[i] : '.'); + else + fprintf(stderr, " %c", + isprint(buf[i]) ? 255 & buf[i] : '.'); + if ((pos - el.Elements) % 16 != 0) + fprintf(stderr, "\n"); +#endif } void HandleException(FILE *f, int off, int len) Added: trunk/cegcc/tools/cedump/copydump.c =================================================================== --- trunk/cegcc/tools/cedump/copydump.c (rev 0) +++ trunk/cegcc/tools/cedump/copydump.c 2009-04-27 14:17:03 UTC (rev 1252) @@ -0,0 +1,86 @@ +/* + * Copy a dump file from /windows/system/dumpfiles to /temp + * + * The reason to write this is that the regular CE File Explorer refuses + * to copy such files. + * + * LICENSE: + * + * Copyright (c) 2009, Danny Backx. + * + * This file is part of CeGCC. + * + * This is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This file is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this file; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include <stdio.h> +#include <stdlib.h> +#include <errno.h> +#include <string.h> + +main(int argc, char *argv[]) +{ + int i, j; + FILE *f, *df; + int r; + char dst[128]; + char *buf, *p; + + if (argc != 2) { + fprintf(stderr, "Usage: %s dumpfile\n", argv[0]); + fprintf(stderr, "Usual place : /windows/system/dumpfiles/ceMMDDYY-NN/ceMMDDYY-NN.kdmp\n"); + exit(1); + } + p = strrchr(argv[1], '/'); + if (!p) + p = strrchr(argv[1], '\\'); + if (!p) { + fprintf(stderr, "No path ?\n"); + exit(1); + } + sprintf(dst, "/temp/%s", p+1); + + f = fopen(argv[1], "rb"); + if (!f) { + perror("fopen"); + fprintf(stderr, "Could not open %s\n", argv[1]); + exit(1); + } + df = fopen(dst, "wb"); + if (!df) { + perror("fopen"); + fprintf(stderr, "Could not create %s\n", dst); + exit(1); + } + + buf = malloc(8192); + while (1) { + r = fread(buf, 1, 8192, f); + if (r <= 0) { + if (feof(f)) + break; + + perror("fread"); + fclose(f); + fclose(df); + exit(1); + } + fwrite(buf, 1, r, df); + } + + fclose(f); + fclose(df); + exit(0); +} + Property changes on: trunk/cegcc/tools/cedump/copydump.c ___________________________________________________________________ Added: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2009-04-26 17:10:16
|
Revision: 1251 http://cegcc.svn.sourceforge.net/cegcc/?rev=1251&view=rev Author: dannybackx Date: 2009-04-26 17:10:11 +0000 (Sun, 26 Apr 2009) Log Message: ----------- Print the Exception code, flags and address. Modified Paths: -------------- trunk/cegcc/tools/cedump/DwCeDump.h trunk/cegcc/tools/cedump/cedump.c Modified: trunk/cegcc/tools/cedump/DwCeDump.h =================================================================== --- trunk/cegcc/tools/cedump/DwCeDump.h 2009-04-26 16:36:55 UTC (rev 1250) +++ trunk/cegcc/tools/cedump/DwCeDump.h 2009-04-26 17:10:11 UTC (rev 1251) @@ -184,7 +184,7 @@ * This structure contains the exception record for the exception * that caused the dump file to be generated. */ -#define EXCEPTION_MAXIMUM_PARAMETERS 8 /* ?? */ +#define EXCEPTION_MAXIMUM_PARAMETERS 0 /* ?? */ typedef struct _CEDUMP_EXCEPTION { ULONG32 ExceptionCode; ULONG32 ExceptionFlags; Modified: trunk/cegcc/tools/cedump/cedump.c =================================================================== --- trunk/cegcc/tools/cedump/cedump.c 2009-04-26 16:36:55 UTC (rev 1250) +++ trunk/cegcc/tools/cedump/cedump.c 2009-04-26 17:10:11 UTC (rev 1251) @@ -7,6 +7,8 @@ typedef void (*StreamHandler)(FILE *, int, int); void HandleSystemInfo(FILE *, int, int); +void HandleField(FILE *, int, int); +void HandleException(FILE *, int, int); struct { enum _MINIDUMP_STREAM_TYPE stream_type; @@ -16,11 +18,11 @@ { UnusedStream, "Unused Stream", NULL }, { ceStreamNull, "Stream Null", NULL }, { ceStreamSystemInfo, "System info", HandleSystemInfo }, - { ceStreamException, "Exception", NULL }, - { ceStreamModuleList, "Module", NULL }, - { ceStreamProcessList, "Process", NULL }, - { ceStreamThreadList, "Thread", NULL }, - { ceStreamThreadContextList, "Thread Context", NULL }, + { ceStreamException, "Exception", HandleException }, + { ceStreamModuleList, "Module", HandleField }, + { ceStreamProcessList, "Process", HandleField }, + { ceStreamThreadList, "Thread", HandleField }, + { ceStreamThreadContextList, "Thread Context", HandleField }, { ceStreamThreadCallStackList, "Thread Callstack", NULL }, { ceStreamMemoryVirtualList, "Memory virtual list", NULL }, { ceStreamMemoryPhysicalList, "Memory physical list", NULL }, @@ -142,3 +144,42 @@ free(oem); } +void HandleField(FILE *f, int off, int len) +{ +#if 0 + CEDUMP_FIELD_INFO field; + char *label, *format; + + fseek(f, off, SEEK_SET); + fread(&field, sizeof(field), 1, f); + + fprintf(stderr, "Field at off %x, totsize %d, size %d\n", + off, len, field.FieldSize); + label = ReadString(f, field.FieldLabel); +// format = ReadString(f, field.FieldFormat); + fprintf(stderr, "\tlabel (%s)\n", label); + free(label); +#endif +} + +void HandleException(FILE *f, int off, int len) +{ + CEDUMP_EXCEPTION_STREAM exs; + CEDUMP_EXCEPTION ex; + ULONG32 *param; + int i; + + fseek(f, off, SEEK_SET); + fread(&exs, sizeof(exs), 1, f); + fread(&ex, sizeof(ex), 1, f); + + fprintf(stderr, "Exception : code %X, flags %x, address %X\n", + ex.ExceptionCode, + ex.ExceptionFlags, + ex.ExceptionAddress); + param = calloc(ex.NumberParameters, sizeof(ULONG32)); + fread(param, sizeof(ULONG32), ex.NumberParameters, f); + for (i=0; i<ex.NumberParameters; i++) + fprintf(stderr, "Parameter %d : [%X]\n", + i, param[i]); +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2009-04-26 16:37:05
|
Revision: 1250 http://cegcc.svn.sourceforge.net/cegcc/?rev=1250&view=rev Author: dannybackx Date: 2009-04-26 16:36:55 +0000 (Sun, 26 Apr 2009) Log Message: ----------- Rename the examples to something that resembles their original file names. Extend the cedump.c program to print the "System Info" stream already. Modified Paths: -------------- trunk/cegcc/tools/cedump/DwCeDump.h trunk/cegcc/tools/cedump/cedump.c Added Paths: ----------- trunk/cegcc/tools/cedump/Makefile trunk/cegcc/tools/cedump/examples/Ce041409-01-cedevice.log trunk/cegcc/tools/cedump/examples/Ce041409-01.kdmp trunk/cegcc/tools/cedump/examples/Ce041509-01-cedevice.log trunk/cegcc/tools/cedump/examples/Ce041509-01.kdmp Removed Paths: ------------- trunk/cegcc/tools/cedump/examples/null1.txt trunk/cegcc/tools/cedump/examples/null2.txt trunk/cegcc/tools/cedump/examples/rm1.txt trunk/cegcc/tools/cedump/examples/rm2.txt Modified: trunk/cegcc/tools/cedump/DwCeDump.h =================================================================== --- trunk/cegcc/tools/cedump/DwCeDump.h 2009-04-26 14:31:56 UTC (rev 1249) +++ trunk/cegcc/tools/cedump/DwCeDump.h 2009-04-26 16:36:55 UTC (rev 1250) @@ -46,11 +46,34 @@ } MINIDUMP_LOCATION_DESCRIPTOR; /* + * This enumeration lists the valid kinds of Windows CE stream types. + */ +typedef enum _MINIDUMP_STREAM_TYPE { + UnusedStream = 0, +// 1 to 0x7FFF - Reserved for Desktop Windows +// 0x8000 to 0xFFFE - Windows CE stream types + ceStreamNull = 0x8000, + ceStreamSystemInfo = 0x8001, + ceStreamException = 0x8002, + ceStreamModuleList = 0x8003, + ceStreamProcessList = 0x8004, + ceStreamThreadList = 0x8005, + ceStreamThreadContextList = 0x8006, + ceStreamThreadCallStackList = 0x8007, + ceStreamMemoryVirtualList = 0x8008, + ceStreamMemoryPhysicalList = 0x8009, + ceStreamBucketParameters = 0x800A, + + LastReservedStream = 0xffff + +} MINIDUMP_STREAM_TYPE; + +/* * This structure identifies and locates each stream type * found in an error report minidump. */ typedef struct _MINIDUMP_DIRECTORY { - ULONG32 StreamType; + MINIDUMP_STREAM_TYPE StreamType; MINIDUMP_LOCATION_DESCRIPTOR Location; } MINIDUMP_DIRECTORY, *PMINIDUMP_DIRECTORY; @@ -72,29 +95,6 @@ } MINIDUMP_STRING, *PMINIDUMP_STRING; /* - * This enumeration lists the valid kinds of Windows CE stream types. - */ -typedef enum _MINIDUMP_STREAM_TYPE { - UnusedStream = 0, -// 1 to 0x7FFF - Reserved for Desktop Windows -// 0x8000 to 0xFFFE - Windows CE stream types - ceStreamNull = 0x8000, - ceStreamSystemInfo = 0x8001, - ceStreamException = 0x8002, - ceStreamModuleList = 0x8003, - ceStreamProcessList = 0x8004, - ceStreamThreadList = 0x8005, - ceStreamThreadContextList = 0x8006, - ceStreamThreadCallStackList = 0x8007, - ceStreamMemoryVirtualList = 0x8008, - ceStreamMemoryPhysicalList = 0x8009, - ceStreamBucketParameters = 0x800A, - - LastReservedStream = 0xffff - -} MINIDUMP_STREAM_TYPE; - -/* * This structure defines the bucketing parameters used when * uploading an error report. * This structure is used to define the ceStreamBucketParameters stream. Added: trunk/cegcc/tools/cedump/Makefile =================================================================== --- trunk/cegcc/tools/cedump/Makefile (rev 0) +++ trunk/cegcc/tools/cedump/Makefile 2009-04-26 16:36:55 UTC (rev 1250) @@ -0,0 +1,12 @@ +TARGET= arm-mingw32ce +CFLAGS= -g +WCFLAGS= -I../errno -g + +all: cedump cedump.exe + +cedump: cedump.c DwCeDump.h + $(CC) ${CFLAGS} -o $@ $< + +cedump.exe: cedump.c DwCeDump.h + $(TARGET)-gcc ${WCFLAGS} -o $@ $< ../errno/liberrno.a + Property changes on: trunk/cegcc/tools/cedump/Makefile ___________________________________________________________________ Added: svn:eol-style + native Modified: trunk/cegcc/tools/cedump/cedump.c =================================================================== --- trunk/cegcc/tools/cedump/cedump.c 2009-04-26 14:31:56 UTC (rev 1249) +++ trunk/cegcc/tools/cedump/cedump.c 2009-04-26 16:36:55 UTC (rev 1250) @@ -1,18 +1,50 @@ #include <stdio.h> #include <stdlib.h> +#include <errno.h> #include "DwCeDump.h" +typedef void (*StreamHandler)(FILE *, int, int); + +void HandleSystemInfo(FILE *, int, int); + +struct { + enum _MINIDUMP_STREAM_TYPE stream_type; + char *name; + StreamHandler handler; +} StreamTypes[] = { + { UnusedStream, "Unused Stream", NULL }, + { ceStreamNull, "Stream Null", NULL }, + { ceStreamSystemInfo, "System info", HandleSystemInfo }, + { ceStreamException, "Exception", NULL }, + { ceStreamModuleList, "Module", NULL }, + { ceStreamProcessList, "Process", NULL }, + { ceStreamThreadList, "Thread", NULL }, + { ceStreamThreadContextList, "Thread Context", NULL }, + { ceStreamThreadCallStackList, "Thread Callstack", NULL }, + { ceStreamMemoryVirtualList, "Memory virtual list", NULL }, + { ceStreamMemoryPhysicalList, "Memory physical list", NULL }, + { ceStreamBucketParameters, "Bucket parameters", NULL }, + /* The end */ + { LastReservedStream, NULL, NULL } +}; + main(int argc, char *argv[]) { - int i; + int i, j; FILE *f = fopen(argv[1], "rb"); MINIDUMP_HEADER buf; int r; char s[128]; + MINIDUMP_DIRECTORY *d; + if (argc != 2) { + fprintf(stderr, "Usage: %s dumpfile\n", argv[0]); + fprintf(stderr, "Usual place : /windows/system/dumpfiles/ceMMDDYY-NN/ceMMDDYY-NN.kdmp\n"); + exit(1); + } if (!f) { - fprintf(stderr, "Could not open %s", argv[1]); + fprintf(stderr, "Could not open %s\n", argv[1]); perror("fopen"); exit(1); } @@ -26,5 +58,87 @@ // wcstombs(s, buf.pwzQueryString, 128); fprintf(stderr, "Number of streams %d\n", buf.NumberOfStreams); + /* Allocate directory buffers */ + d = (MINIDUMP_DIRECTORY *) calloc(buf.NumberOfStreams, + sizeof (MINIDUMP_DIRECTORY)); + + /* Spool to directory */ + for (i=0; i<buf.NumberOfStreams; i++) { + fseek(f, buf.StreamDirectoryRva + + i * sizeof(MINIDUMP_DIRECTORY), SEEK_SET); + r = fread(&d[i], sizeof(MINIDUMP_DIRECTORY), 1, f); + if (r != 1) { + fprintf(stderr, "Invalid dir size, %d\n", r); + exit (1); + } + for (j=0; StreamTypes[j].stream_type != LastReservedStream; j++) + if (StreamTypes[j].stream_type == d[i].StreamType) + break; + if (StreamTypes[j].stream_type != d[i].StreamType) { + fprintf(stderr, "Invalid stream type %4x\n", + d[i].StreamType); + continue; + } + fprintf(stderr, "stream %d, type %4x (%s), size %ld\n", + i, + d[i].StreamType, + StreamTypes[j].name, + d[i].Location.DataSize); + if (StreamTypes[j].handler) { + (StreamTypes[j].handler)(f, + d[i].Location.Rva, + d[i].Location.DataSize); + } + } + fclose(f); } + +/* + * Caller must free result. + * Also convert to char * + */ +char *ReadString(FILE *f, int off) +{ + char *oem, *woem; + ULONG32 sl; + int i; + + fseek(f, off, SEEK_SET); + fread(&sl, sizeof(ULONG32), 1, f); + oem = malloc(sl+1); + woem = malloc(2 * sl + 2); + fread(woem, 2, sl, f); + for (i=0; i<sl; i++) + oem[i] = woem[2*i]; + oem[sl] = 0; + free(woem); + return oem; +} + +void HandleSystemInfo(FILE *f, int off, int len) +{ + int l; + CEDUMP_SYSTEM_INFO si; + char *oem; + + fseek(f, off, SEEK_SET); + fread(&si, sizeof(si), 1, f); + oem = ReadString(f, si.OEMStringRva); + fprintf(stderr, "System info :\n\tarch %d, %d processors\n" + "\tProc type %d level %d rev %d\n" + "\tProc family %d Platform %d\n" + "\tLocale id %d %4X\n" + "\tOEM {%s}\n", + si.ProcessorArchitecture, + si.NumberOfProcessors, + si.ProcessorType, + si.ProcessorLevel, + si.ProcessorRevision, + si.ProcessorFamily, + si.PlatformId, + si.LCID, si.LCID, + oem); + free(oem); +} + Copied: trunk/cegcc/tools/cedump/examples/Ce041409-01-cedevice.log (from rev 1242, trunk/cegcc/tools/cedump/examples/null2.txt) =================================================================== (Binary files differ) Property changes on: trunk/cegcc/tools/cedump/examples/Ce041409-01-cedevice.log ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: svn:mergeinfo + Copied: trunk/cegcc/tools/cedump/examples/Ce041409-01.kdmp (from rev 1242, trunk/cegcc/tools/cedump/examples/null1.txt) =================================================================== (Binary files differ) Property changes on: trunk/cegcc/tools/cedump/examples/Ce041409-01.kdmp ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: svn:mergeinfo + Copied: trunk/cegcc/tools/cedump/examples/Ce041509-01-cedevice.log (from rev 1242, trunk/cegcc/tools/cedump/examples/rm2.txt) =================================================================== (Binary files differ) Property changes on: trunk/cegcc/tools/cedump/examples/Ce041509-01-cedevice.log ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: svn:mergeinfo + Copied: trunk/cegcc/tools/cedump/examples/Ce041509-01.kdmp (from rev 1242, trunk/cegcc/tools/cedump/examples/rm1.txt) =================================================================== (Binary files differ) Property changes on: trunk/cegcc/tools/cedump/examples/Ce041509-01.kdmp ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: svn:mergeinfo + Deleted: trunk/cegcc/tools/cedump/examples/null1.txt =================================================================== (Binary files differ) Deleted: trunk/cegcc/tools/cedump/examples/null2.txt =================================================================== (Binary files differ) Deleted: trunk/cegcc/tools/cedump/examples/rm1.txt =================================================================== (Binary files differ) Deleted: trunk/cegcc/tools/cedump/examples/rm2.txt =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2009-04-26 14:32:04
|
Revision: 1249 http://cegcc.svn.sourceforge.net/cegcc/?rev=1249&view=rev Author: dannybackx Date: 2009-04-26 14:31:56 +0000 (Sun, 26 Apr 2009) Log Message: ----------- Support a libcoredll6.a which can be used by developers that aim for Windows CE 6.* exclusively. Modified Paths: -------------- trunk/cegcc/src/mingw/ChangeLog.mingw32ce trunk/cegcc/src/mingw/Makefile.in Added Paths: ----------- trunk/cegcc/src/mingw/coredll6.def Modified: trunk/cegcc/src/mingw/ChangeLog.mingw32ce =================================================================== --- trunk/cegcc/src/mingw/ChangeLog.mingw32ce 2009-04-21 18:19:25 UTC (rev 1248) +++ trunk/cegcc/src/mingw/ChangeLog.mingw32ce 2009-04-26 14:31:56 UTC (rev 1249) @@ -1,3 +1,12 @@ +2009-04-26 Danny Backx <dan...@us...> + + * coredll6.def : New file. + * Makefile.in (libcoredll6.a) : New target to build a library that + supports APIs new to higher versions of CE (to be sure that people + who also aim older devices can develop with the regular library). + * Makefile.in (lib%.a) : Remove the rule for ofmt_stub.o, it always + fails because it relies on a function that is a macro in our sources. + 2009-04-22 Danny Backx <dan...@us...> * include/_mingw.h : Change test to check for __arm__ instead of Modified: trunk/cegcc/src/mingw/Makefile.in =================================================================== --- trunk/cegcc/src/mingw/Makefile.in 2009-04-21 18:19:25 UTC (rev 1248) +++ trunk/cegcc/src/mingw/Makefile.in 2009-04-26 14:31:56 UTC (rev 1249) @@ -213,7 +213,7 @@ strcasecmp.o strncasecmp.o wcscmpi.o ifneq (,$(findstring mingw32ce,$(target_alias))) -LIBS = libcoredll.a \ +LIBS = libcoredll.a libcoredll6.a \ libmingw32.a \ libceoldname.a \ $(LIBM_A) \ @@ -575,6 +575,7 @@ # Dependencies # libcoredll.a: coredll.def +libcoredll6.a: coredll6.def libcrtdll.a: crtdll.def libmsvcrt.a: msvcrt.def libmsvcrtd.a: msvcrtd.def @@ -618,6 +619,9 @@ MINGW_REPL_FUNCS = printf fprintf sprintf vprintf vfprintf vsprintf +libcoredll6.a: coredll6.def + $(DLLTOOL) --as=$(AS) -k --dllname coredll.dll --output-lib $@ --def $< + lib%.a: %.def $(DLLTOOL) --as=$(AS) -k --dllname $*.dll --output-lib $@ --def $< for key in $(MINGW_REPL_FUNCS); do \ @@ -630,8 +634,6 @@ --redefine-sym __imp__$$key=__imp__$(sym_prefix)_$$key \ $$src $$dst; \ fi; done; \ - test `key=_get_output_format; $(NM_LOOKUP)` || \ - repl="$$repl ofmt_stub.o"; \ test -n "$$repl" && $(AR) rcs $@ $$repl; \ $(RM) $$tmpfiles Added: trunk/cegcc/src/mingw/coredll6.def =================================================================== --- trunk/cegcc/src/mingw/coredll6.def (rev 0) +++ trunk/cegcc/src/mingw/coredll6.def 2009-04-26 14:31:56 UTC (rev 1249) @@ -0,0 +1,1671 @@ +; PLEASE KEEP THE MINGW/COREDLL.DEF AND W32API/LIBCE/COREDLL.DEF +; FILES IN SYNC. + +LIBRARY COREDLL +EXPORTS +AFS_CloseAllFileHandles +AFS_CreateDirectoryW +AFS_CreateFileW +AFS_DeleteFileW +AFS_FindFirstChangeNotificationW +AFS_FindFirstFileW +AFS_GetDiskFreeSpace +AFS_GetFileAttributesW +AFS_MoveFileW +AFS_NotifyMountedFS +AFS_PrestoChangoFileName +AFS_RegisterFileSystemFunction +AFS_RemoveDirectoryW +AFS_SetFileAttributesW +AFS_Unmount +A_SHAFinal +A_SHAInit +A_SHAUpdate +AbortDoc +AccessibilitySoundSentryEvent +ActivateDevice +ActivateDeviceEx +ActivateKeyboardLayout +ActivateService +AddEventAccess +AddFontResourceW +AddTrackedItem +AdjustWindowRectEx +AdvertiseInterface +AllKeys +AllocPhysMem +AppendMenuW +AttachDebugger +AudioUpdateFromRegistry +BatteryDrvrGetLevels +BatteryDrvrSupportsChangeNotification +BatteryGetLifeTimeInfo +BatteryNotifyOfTimeChange +BeginDeferWindowPos +BeginPaint +BinaryCompress +BinaryDecompress +BitBlt +BringWindowToTop +CacheRangeFlush +CacheSync +CallNextHookEx +CallWindowProcW +CeChangeDatabaseLCID +CeClearReplChangeBitsEx +CeClearUserNotification +CeCreateDatabase +CeCreateDatabaseEx +CeCreateDatabaseEx2 +CeDeleteDatabase +CeDeleteDatabaseEx +CeDeleteRecord +CeEnumDBVolumes +CeEventHasOccurred +CeFindFirstDatabase +CeFindFirstDatabaseEx +CeFindNextDatabase +CeFindNextDatabaseEx +CeFlushDBVol +CeFreeNotification +CeGenRandom +CeGetCallerTrust +CeGetCurrentTrust +CeGetDBInformationByHandle +CeGetFileNotificationInfo +CeGetRandomSeed +CeGetReplChangeBitsEx +CeGetReplChangeMask +CeGetReplOtherBitsEx +CeGetThreadPriority +CeGetThreadQuantum +CeGetUserNotification +CeGetUserNotificationHandles +CeGetUserNotificationPreferences +CeHandleAppNotifications +CeLogData +CeLogGetZones +CeLogReSync +CeLogSetZones +CeMapArgumentArray +CeModuleJit +CeMountDBVol +CeOidGetInfo +CeOidGetInfoEx +CeOidGetInfoEx2 +CeOpenDatabase +CeOpenDatabaseEx +CeOpenDatabaseEx2 +CeReadRecordProps +CeReadRecordPropsEx +CeRegisterFileSystemNotification +CeRegisterReplNotification +CeRemoveFontResource +CeResyncFilesys +CeRunAppAtEvent +CeRunAppAtTime +CeSeekDatabase +CeSeekDatabaseEx +CeSetDatabaseInfo +CeSetDatabaseInfoEx +CeSetDatabaseInfoEx2 +CeSetExtendedPdata +CeSetPowerOnEvent +CeSetProcessVersion +CeSetReplChangeBitsEx +CeSetReplChangeMask +CeSetReplOtherBitsEx +CeSetThreadPriority +CeSetThreadQuantum +CeSetUserNotification +CeSetUserNotificationEx +CeUnmountDBVol +CeWriteRecordProps +CeZeroPointer +ChangeDisplaySettingsEx +CharLowerBuffW +CharLowerW +CharNextW +CharPrevW +CharUpperBuffW +CharUpperW +CheckMenuItem +CheckMenuRadioItem +CheckPassword +CheckRadioButton +ChildWindowFromPoint +ClearCommBreak +ClearCommError +ClientToScreen +ClipCursor +CloseAllDeviceHandles +CloseAllFileHandles +CloseAllServiceHandles +CloseClipboard +CloseEnhMetaFile +CloseHandle +CloseMsgQueue +CloseProcOE +ComThreadBaseFunc +CombineRgn +CompactAllHeaps +CompareFileTime +CompareStringW +ConnectDebugger +ContinueDebugEvent +ConvertDefaultLocale +CopyFileW +CopyRect +CountClipboardFormats +CreateAPIHandle +CreateAPISet +CreateAcceleratorTableW +CreateBitmap +CreateBitmapFromPointer +CreateCaret +CreateCompatibleBitmap +CreateCompatibleDC +CreateCrit +CreateDCW +CreateDIBPatternBrushPt +CreateDIBSection +CreateDeviceHandle +CreateDialogIndirectParamW +CreateDirectoryW +CreateEnhMetaFileW +CreateEventW +CreateFileForMapping +CreateFileForMappingW +CreateFileMappingW +CreateFileW +CreateFontIndirectW +CreateIconIndirect +CreateLocaleView +CreateMenu +CreateMsgQueue +CreateMutexW +CreatePalette +CreatePatternBrush +CreatePen +CreatePenIndirect +CreatePopupMenu +CreateProcessW +CreateRectRgn +CreateRectRgnIndirect +CreateSemaphoreW +CreateServiceHandle +CreateSolidBrush +CreateStaticMapping +CreateThread +CreateWindowExW +CryptAcquireContextW +CryptContextAddRef +CryptCreateHash +CryptDecrypt +CryptDeriveKey +CryptDestroyHash +CryptDestroyKey +CryptDuplicateHash +CryptDuplicateKey +CryptEncrypt +CryptEnumProviderTypesW +CryptEnumProvidersW +CryptExportKey +CryptGenKey +CryptGenRandom +CryptGetDefaultProviderW +CryptGetHashParam +CryptGetKeyParam +CryptGetProvParam +CryptGetUserKey +CryptHashData +CryptHashSessionKey +CryptImportKey +CryptProtectData +CryptReleaseContext +CryptSetHashParam +CryptSetKeyParam +CryptSetProvParam +CryptSetProviderExW +CryptSetProviderW +CryptSignHashW +CryptUnprotectData +CryptVerifySignatureW +DBCanonicalize +DDKReg_GetIsrInfo +DDKReg_GetPciInfo +DDKReg_GetWindowInfo +DeactivateDevice +DebugActiveProcess +DebugNotify +DecompressBinaryBlock +DefDlgProcW +DefWindowProcW +DeferWindowPos +DeleteAndRenameFile +DeleteCriticalSection +DeleteDC +DeleteEnhMetaFile +DeleteFileW +DeleteMenu +DeleteObject +DeleteTrackedItem +DeregisterAFS +DeregisterAFSName +DeregisterDevice +DeregisterService +DestroyAcceleratorTable +DestroyCaret +DestroyIcon +DestroyMenu +DestroyWindow +DeviceIoControl +DevicePowerNotify +DialogBoxIndirectParamW +DisableCaretSystemWide +DisableThreadLibraryCalls +DispatchMessageW +DrawEdge +DrawFocusRect +DrawFrameControl +DrawIconEx +DrawMenuBar +DrawTextW +DumpFileSystemHeap +DumpKCallProfile +DuplicateHandle +Ellipse +EmptyClipboard +EnableCaretSystemWide +EnableEUDC +EnableHardwareKeyboard +EnableMenuItem +EnableWindow +EndDeferWindowPos +EndDialog +EndDoc +EndPage +EndPaint +EnterCriticalSection +EnumCalendarInfoW +EnumClipboardFormats +EnumDateFormatsW +EnumDevices +EnumDisplayDevices +EnumDisplayMonitors +EnumDisplaySettings +EnumFontFamiliesW +EnumFontsW +EnumPnpIds +EnumPropsEx +EnumServices +EnumSystemCodePagesW +EnumSystemLocalesW +EnumTimeFormatsW +EnumUILanguagesW +EnumWindows +EqualRect +EqualRgn +EscapeCommFunction +EventModify +ExcludeClipRect +ExitThread +ExtCreateRegion +ExtEscape +ExtTextOutW +ExtractIconExW +ExtractResource +FileSystemPowerFunction +FileTimeToLocalFileTime +FileTimeToSystemTime +FillRect +FillRgn +FilterTrackedItem +FindClose +FindCloseChangeNotification +FindFirstChangeNotificationW +FindFirstFileExW +FindFirstFileW +FindNextChangeNotification +FindNextFileW +FindResource +FindResourceW +FindWindowW +FlushFileBuffers +FlushInstructionCache +FlushViewOfFile +FlushViewOfFileMaybe +FoldStringW +ForcePageout +FormatMessageW +FreeIntChainHandler +FreeLibrary +FreeLibraryAndExitThread +FreePhysMem +GetACP +GetAPIAddress +GetActiveWindow +GetAssociatedMenu +GetAsyncKeyState +GetAsyncShiftFlags +GetBkColor +GetBkMode +GetCPInfo +GetCRTFlags +GetCRTStorageEx +GetCallStackSnapshot +GetCallerProcess +GetCallerProcessIndex +GetCapture +GetCaretBlinkTime +GetCaretPos +GetCharABCWidths +GetCharWidth32 +GetClassInfoW +GetClassLong +GetClassLongW +GetClassNameW +GetClientRect +GetClipBox +GetClipCursor +GetClipRgn +GetClipboardData +GetClipboardDataAlloc +GetClipboardFormatNameW +GetClipboardOwner +GetCommMask +GetCommModemStatus +GetCommProperties +GetCommState +GetCommTimeouts +GetCommandLineW +GetCurrencyFormatW +GetCurrentFT +GetCurrentObject +GetCurrentPermissions +GetCurrentPositionEx +GetCursor +GetCursorPos +GetDC +GetDCEx +GetDIBColorTable +GetDateFormatW +GetDesktopWindow +GetDeviceByIndex +GetDeviceCaps +GetDeviceKeys +GetDevicePower +GetDialogBaseUnits +GetDiskFreeSpaceExW +GetDlgCtrlID +GetDlgItem +GetDlgItemInt +GetDlgItemTextW +GetDoubleClickTime +GetEventData +GetExitCodeProcess +GetExitCodeThread +GetFSHeapInfo +GetFileAttributesExW +GetFileAttributesW +GetFileInformationByHandle +GetFileSize +GetFileTime +GetFileVersionInfoSizeW +GetFileVersionInfoW +GetFocus +GetForegroundInfo +GetForegroundKeyboardLayoutHandle +GetForegroundKeyboardTarget +GetForegroundWindow +GetHeapSnapshot +GetIdleTime +GetKPhys +GetKeyState +GetKeyboardLayout +GetKeyboardLayoutList +GetKeyboardLayoutNameW +GetKeyboardStatus +GetKeyboardTarget +GetKeyboardType +GetLastError +GetLocalTime +GetLocaleInfoW +GetMenuItemInfoW +GetMessagePos +GetMessageQueueReadyTimeStamp +GetMessageSource +GetMessageW +GetMessageWNoWait +GetModuleFileNameW +GetModuleHandleW +GetModuleInformation +GetMonitorInfo +GetMouseMovePoints +GetMsgQueueInfo +GetNearestColor +GetNearestPaletteIndex +GetNextDlgGroupItem +GetNextDlgTabItem +GetNumberFormatW +GetOEMCP +GetObjectType +GetObjectW +GetOpenClipboardWindow +GetOpenFileNameW +GetOwnerProcess +GetPaletteEntries +GetParent +GetPasswordActive +GetPasswordStatus +GetPixel +GetPriorityClipboardFormat +GetPrivateCallbacks +GetProcAddrBits +GetProcAddressA +GetProcAddressW +GetProcFromPtr +GetProcName +GetProcessHeap +GetProcessIDFromIndex +GetProcessIndexFromID +GetProcessVersion +GetProp +GetQueueStatus +GetRealTime +GetRegionData +GetRgnBox +GetRomFileBytes +GetRomFileInfo +GetSaveFileNameW +GetScrollInfo +GetServiceByIndex +GetServiceHandle +GetStdioPathW +GetStockObject +GetStoreInformation +GetStringTypeExW +GetStringTypeW +GetSubMenu +GetSysColor +GetSysColorBrush +GetSystemDefaultLCID +GetSystemDefaultLangID +GetSystemDefaultUILanguage +GetSystemInfo +GetSystemMemoryDivision +GetSystemMetrics +GetSystemPaletteEntries +GetSystemPowerState +GetSystemPowerStatusEx +GetSystemPowerStatusEx2 +GetSystemTime +GetTempFileNameW +GetTempPathW +GetTextAlign +GetTextColor +GetTextExtentExPointW +GetTextFaceW +GetTextMetricsW +GetThreadContext +GetThreadPriority +GetThreadTimes +GetTickCount +GetTimeFormatW +GetTimeZoneInformation +GetUpdateRect +GetUpdateRgn +GetUserDefaultLCID +GetUserDefaultLangID +GetUserDefaultUILanguage +GetUserDirectory +GetUserNameExW +GetVersionEx +GetVersionExW +GetWindow +GetWindowDC +GetWindowLongW +GetWindowRect +GetWindowRgn +GetWindowTextLengthW +GetWindowTextW +GetWindowTextWDirect +GetWindowThreadProcessId +GiveKPhys +GlobalAddAtomW +GlobalDeleteAtom +GlobalFindAtomW +GlobalMemoryStatus +GradientFill +GwesPowerDown +GwesPowerOffSystem +GwesPowerUp +HeapAlloc +HeapAllocTrace +HeapCreate +HeapDestroy +HeapFree +HeapReAlloc +HeapSize +HeapValidate +HideCaret +ImageList_Add +ImageList_AddMasked +ImageList_BeginDrag +ImageList_Copy +ImageList_CopyDitherImage +ImageList_Create +ImageList_Destroy +ImageList_DragEnter +ImageList_DragLeave +ImageList_DragMove +ImageList_DragShowNolock +ImageList_Draw +ImageList_DrawEx +ImageList_DrawIndirect +ImageList_Duplicate +ImageList_EndDrag +ImageList_GetBkColor +ImageList_GetDragImage +ImageList_GetIcon +ImageList_GetIconSize +ImageList_GetImageCount +ImageList_GetImageInfo +ImageList_LoadImage +ImageList_Merge +ImageList_Remove +ImageList_Replace +ImageList_ReplaceIcon +ImageList_SetBkColor +ImageList_SetDragCursorImage +ImageList_SetIconSize +ImageList_SetImageCount +ImageList_SetOverlayImage +ImmAssociateContext +ImmAssociateContextEx +ImmConfigureIMEW +ImmCreateContext +ImmCreateIMCC +ImmDestroyContext +ImmDestroyIMCC +ImmDisableIME +ImmEnableIME +ImmEnumRegisterWordW +ImmEscapeW +ImmGenerateMessage +ImmGetCandidateListCountW +ImmGetCandidateListW +ImmGetCandidateWindow +ImmGetCompositionFontW +ImmGetCompositionStringW +ImmGetCompositionWindow +ImmGetContext +ImmGetConversionListW +ImmGetConversionStatus +ImmGetDefaultIMEWnd +ImmGetDescriptionW +ImmGetGuideLineW +ImmGetHotKey +ImmGetIMCCLockCount +ImmGetIMCCSize +ImmGetIMCLockCount +ImmGetIMEFileNameW +ImmGetImeMenuItemsW +ImmGetKeyboardLayout +ImmGetOpenStatus +ImmGetProperty +ImmGetRegisterWordStyleW +ImmGetStatusWindowPos +ImmGetVirtualKey +ImmIsIME +ImmIsUIMessageW +ImmLockIMC +ImmLockIMCC +ImmNotifyIME +ImmReSizeIMCC +ImmRegisterWordW +ImmReleaseContext +ImmRequestMessageW +ImmSIPanelState +ImmSetCandidateWindow +ImmSetCompositionFontW +ImmSetCompositionStringW +ImmSetCompositionWindow +ImmSetConversionStatus +ImmSetHotKey +ImmSetImeWndIMC +ImmSetOpenStatus +ImmSetStatusWindowPos +ImmSimulateHotKey +ImmUnlockIMC +ImmUnlockIMCC +ImmUnregisterWordW +InSendMessage +InflateRect +InitLocale +InitializeCriticalSection +InputDebugCharW +InsertMenuW +Int_CloseHandle +Int_CreateEventW +Int_HeapAlloc +Int_HeapCreate +Int_HeapDestroy +Int_HeapFree +Int_HeapReAlloc +Int_HeapSize +InterlockedCompareExchange +InterlockedDecrement +InterlockedExchange +InterlockedExchangeAdd +InterlockedIncrement +InterlockedTestExchange +InterruptDisable +InterruptDone +InterruptInitialize +InterruptMask +IntersectClipRect +IntersectRect +InvalidateRect +InvalidateRgn +InvertRect +IsAPIReady +IsBadCodePtr +IsBadPtr +IsBadReadPtr +IsBadWritePtr +IsChild +IsClipboardFormatAvailable +IsDBCSLeadByte +IsDBCSLeadByteEx +IsDialogMessageW +IsEncryptionPermitted +IsExiting +IsPrimaryThread +IsProcessDying +IsProcessorFeaturePresent +IsRectEmpty +IsSystemFile +IsValidCodePage +IsValidLocale +IsWindow +IsWindowEnabled +IsWindowVisible +KernExtractIcons +KernelIoControl +KernelLibIoControl +KeybdGetDeviceInfo +KeybdInitStates +KeybdVKeyToUnicode +KillAllOtherThreads +KillTimer +LCMapStringW +LeaveCritSec +LeaveCriticalSection +LineTo +LoadAcceleratorsW +LoadAnimatedCursor +LoadBitmapW +LoadCursorW +LoadDriver +LoadFSD +LoadFSDEx +LoadIconW +LoadImageW +LoadIntChainHandler +LoadKernelLibrary +LoadKeyboardLayoutW +LoadLibraryExW +LoadLibraryW +LoadMenuW +LoadResource +LoadStringW +LocalAlloc +LocalAllocInProcess +LocalAllocTrace +LocalFileTimeToFileTime +LocalFree +LocalFreeInProcess +LocalReAlloc +LocalSize +LocalSizeInProcess +LockPages +MD5Final +MD5Init +MD5Update +MainThreadBaseFunc +MapCallerPtr +MapDialogRect +MapPtrToProcWithSize +MapPtrToProcess +MapPtrUnsecure +MapViewOfFile +MapVirtualKeyW +MapWindowPoints +MaskBlt +MessageBeep +MessageBoxW +MonitorFromPoint +MonitorFromRect +MonitorFromWindow +MoveFileW +MoveToEx +MoveWindow +MsgWaitForMultipleObjectsEx +MultiByteToWideChar +NKDbgPrintfW +NKTerminateThread +NKvDbgPrintfW +NLedGetDeviceInfo +NLedSetDevice +NotifyForceCleanboot +NotifyWinUserSystem +OffsetRect +OffsetRgn +OpenClipboard +OpenDeviceKey +OpenEventW +OpenMsgQueue +OpenProcess +OtherThreadsRunning +OutputDebugStringW +PPSHRestart +PSLNotify +PageOutModule +PatBlt +PeekMessageW +PegClearUserNotification +PegCreateDatabase +PegDeleteDatabase +PegDeleteRecord +PegFindFirstDatabase +PegFindNextDatabase +PegGetUserNotificationPreferences +PegHandleAppNotifications +PegOidGetInfo +PegOpenDatabase +PegReadRecordProps +PegRemoveFontResource +PegRunAppAtEvent +PegRunAppAtTime +PegSeekDatabase +PegSetDatabaseInfo +PegSetUserNotification +PegWriteRecordProps +PerformCallBack4 +PlayEnhMetaFile +PlaySoundW +Polygon +Polyline +PostKeybdMessage +PostMessageW +PostQuitMessage +PostThreadMessageW +PowerOffSystem +PowerPolicyNotify +PrintTrackedItem +ProcessDetachAllDLLs +ProfileCaptureStatus +ProfileStart +ProfileStartEx +ProfileStop +ProfileSyscall +PtInRect +PtInRegion +PurgeComm +QASetWindowsJournalHook +QAUnhookWindowsJournalHook +QueryAPISetID +QueryInstructionSet +QueryPerformanceCounter +QueryPerformanceFrequency +RaiseException +Random +RasDeleteEntry +RasDevConfigDialogEditW +RasDial +RasEnumConnections +RasEnumDevicesW +RasEnumEntries +RasGetConnectStatus +RasGetDispPhoneNumW +RasGetEapConnectionData +RasGetEapUserData +RasGetEntryDevConfig +RasGetEntryDialParams +RasGetEntryProperties +RasGetLinkStatistics +RasGetProjectionInfoW +RasHangUp +RasHangup +RasIOControl +RasRenameEntry +RasSetEapConnectionData +RasSetEapUserData +RasSetEntryDevConfig +RasSetEntryDialParams +RasSetEntryProperties +RasValidateEntryName +ReadFile +ReadFileWithSeek +ReadMsgQueue +ReadProcessMemory +ReadRegistryFromOEM +RealizePalette +RectInRegion +RectVisible +Rectangle +RectangleAnimation +RedrawWindow +RefreshKernelAlarm +RegCloseKey +RegCopyFile +RegCreateKeyExW +RegDeleteKeyW +RegDeleteValueW +RegEnumKeyExW +RegEnumValueW +RegFlushKey +RegOpenKeyExW +RegOpenProcessKey +RegQueryInfoKeyW +RegQueryValueExW +RegReplaceKey +RegRestoreFile +RegSaveKey +RegSetValueExW +RegisterAFSEx +RegisterAFSName +RegisterAPISet +RegisterClassW +RegisterClipboardFormatW +RegisterDbgZones +RegisterDesktop +RegisterDevice +RegisterHotKey +RegisterPowerRelationship +RegisterSIPanel +RegisterService +RegisterTaskBar +RegisterTaskBarEx +RegisterTrackedItem +RegisterWindowMessageW +ReinitLocale +ReleaseCapture +ReleaseDC +ReleaseMutex +ReleasePowerRelationship +ReleasePowerRequirement +ReleaseSemaphore +RemoteHeapAlloc +RemoteHeapFree +RemoteHeapReAlloc +RemoteHeapSize +RemoteLocalAlloc +RemoteLocalFree +RemoteLocalReAlloc +RemoteLocalSize +RemoveDirectoryW +RemoveFontResourceW +RemoveMenu +RemoveProp +RequestDeviceNotifications +RequestPowerNotifications +ResourceCreateList +ResourceRelease +ResourceRequest +RestoreDC +ResumeThread +RoundRect +SHAddToRecentDocs +SHCreateExplorerInstance +SHCreateShortcut +SHCreateShortcutEx +SHGetFileInfo +SHGetShortcutTarget +SHGetSpecialFolderPath +SHLoadDIBitmap +SHShowOutOfMemory +SaveDC +ScreenToClient +ScrollDC +ScrollWindowEx +SelectClipRgn +SelectObject +SelectPalette +SendDlgItemMessageW +SendInput +SendMessageTimeout +SendMessageW +SendNotifyMessageW +ServiceAddPort +ServiceClosePort +ServiceIoControl +ServiceUnbindPorts +SetACP +SetAbortProc +SetActiveWindow +SetAssociatedMenu +SetBitmapBits +SetBkColor +SetBkMode +SetBrushOrgEx +SetCapture +SetCaretBlinkTime +SetCaretPos +SetClassLong +SetClassLongW +SetCleanRebootFlag +SetClipboardData +SetCommBreak +SetCommMask +SetCommState +SetCommTimeouts +SetCurrentUser +SetCursor +SetCursorPos +SetDIBColorTable +SetDIBitsToDevice +SetDaylightTime +SetDbgZone +SetDevicePower +SetDlgItemInt +SetDlgItemTextW +SetEndOfFile +SetEventData +SetExceptionHandler +SetFileAttributesW +SetFilePointer +SetFileTime +SetFocus +SetForegroundWindow +SetGwesOOMEvent +SetGwesPowerHandler +SetHandleOwner +SetHardwareWatch +SetInterruptEvent +SetKMode +SetKernelAlarm +SetKeyboardTarget +SetLastError +SetLocalTime +SetLocaleInfoW +SetLowestScheduledPriority +SetMenuItemInfoW +SetOEMCP +SetOOMEvent +SetObjectOwner +SetPaletteEntries +SetParent +SetPassword +SetPasswordActive +SetPasswordStatus +SetPixel +SetPowerOffHandler +SetPowerRequirement +SetProcPermissions +SetProp +SetROP2 +SetRealTime +SetRect +SetRectEmpty +SetRectRgn +SetScrollInfo +SetScrollPos +SetScrollRange +SetStdioPathW +SetSysColors +SetSystemDefaultLCID +SetSystemMemoryDivision +SetSystemPowerState +SetSystemTime +SetTextAlign +SetTextColor +SetThreadContext +SetThreadPriority +SetTimeZoneBias +SetTimeZoneInformation +SetTimer +SetUserData +SetUserDefaultLCID +SetUserDefaultUILanguage +SetViewportOrgEx +SetWDevicePowerHandler +SetWindowLongW +SetWindowPos +SetWindowRgn +SetWindowTextW +SetWindowsHookExW +SetupComm +ShellExecuteEx +ShellModalEnd +Shell_NotifyIcon +ShowCaret +ShowCursor +ShowStartupWindow +ShowWindow +SignalStarted +SipEnumIM +SipGetCurrentIM +SipGetInfo +SipRegisterNotification +SipSetCurrentIM +SipSetDefaultRect +SipSetInfo +SipShowIM +SipStatus +SizeofResource +Sleep +SleepTillTick +StartDocW +StartPage +StopDeviceNotifications +StopPowerNotifications +StretchBlt +StretchDIBits +StringCbCatA +StringCbCatExA +StringCbCatExW +StringCbCatNA +StringCbCatNExA +StringCbCatNExW +StringCbCatNW +StringCbCatW +StringCbCopyA +StringCbCopyExA +StringCbCopyExW +StringCbCopyNA +StringCbCopyNW +StringCbCopyW +StringCbLengthA +StringCbLengthW +StringCbPrintfA +StringCbPrintfExA +StringCbPrintfExW +StringCbPrintfW +StringCbVPrintfA +StringCbVPrintfExA +StringCbVPrintfExW +StringCbVPrintfW +StringCchCatA +StringCchCatExA +StringCchCatExW +StringCchCatNA +StringCchCatNExA +StringCchCatNExW +StringCchCatNW +StringCchCatW +StringCchCopyA +StringCchCopyExA +StringCchCopyExW +StringCchCopyNA +StringCchCopyNW +StringCchCopyW +StringCchLengthA +StringCchLengthW +StringCchPrintfA +StringCchPrintfExA +StringCchPrintfExW +StringCchPrintfW +StringCchVPrintfA +StringCchVPrintfExA +StringCchVPrintfExW +StringCchVPrintfW +StringCompress +StringDecompress +SubtractRect +SuspendThread +SystemIdleTimerReset +SystemMemoryLow +SystemParametersInfoW +SystemStarted +SystemTimeToFileTime +THCreateSnapshot +THGrow +TakeCritSec +TerminateProcess +TerminateThread +ThreadAttachAllDLLs +ThreadBaseFunc +ThreadDetachAllDLLs +ThreadExceptionExit +TlsCall +TlsGetValue +TlsSetValue +TouchCalibrate +TrackPopupMenuEx +TranslateAcceleratorW +TranslateCharsetInfo +TranslateMessage +TransmitCommChar +TransparentImage +TryEnterCriticalSection +TurnOffProfiling +TurnOnProfiling +U_rclose +U_rlseek +U_ropen +U_rread +U_rwrite +UnhookWindowsHookEx +UnionRect +UnlockPages +UnmapViewOfFile +UnregisterClassW +UnregisterFunc1 +UnregisterHotKey +UpdateNLSInfo +UpdateNLSInfoEx +UpdateWindow +ValidateRect +ValidateRgn +VerQueryValueW +VerifyAPIHandle +VirtualAlloc +VirtualCopy +VirtualFree +VirtualProtect +VirtualQuery +VirtualSetAttributes +WNetAddConnection3W +WNetCancelConnection2W +WNetCloseEnum +WNetConnectionDialog1W +WNetDisconnectDialog +WNetDisconnectDialog1W +WNetEnumResourceW +WNetGetConnectionW +WNetGetUniversalNameW +WNetGetUserW +WNetOpenEnumW +WaitCommEvent +WaitForDebugEvent +WaitForMultipleObjects +WaitForSingleObject +WideCharToMultiByte +WindowFromPoint +WriteDebugLED +WriteFile +WriteFileWithSeek +WriteMsgQueue +WriteProcessMemory +WriteRegistryToOEM +_CountLeadingOnes +_CountLeadingOnes64 +_CountLeadingSigns +_CountLeadingSigns64 +_CountLeadingZeros +_CountLeadingZeros64 +_CountOneBits +_CountOneBits64 +_HUGE +_InitStdioLib +_MulHigh +_MulUnsignedHigh +_XcptFilter +__C_specific_handler +__CxxFrameHandler +__CxxThrowException +__addd +__adds +__cmpd +__cmps +__divd +__divs +__dtoi +__dtoi64 +__dtos +__dtou +__dtou64 +__eqd +__eqs +__ged +__ges +__gtd +__gts +__i64tod +__i64tos +__itod +__itos +__led +__les +__ltd +__lts +__muld +__muls +__ned +__negd +__negs +__nes +__rt_sdiv +__rt_sdiv10 +__rt_sdiv64by64 +__rt_srem64by64 +__rt_srsh +__rt_udiv +__rt_udiv10 +__rt_udiv64by64 +__rt_urem64by64 +__rt_ursh +__stod +__stoi +__stoi64 +__stou +__stou64 +__strgtold12 +__subd +__subs +__u64tod +__u64tos +__utod +__utos +_abs64 +_atodbl +_atoflt +_atoi64 +_byteswap_uint64 +_byteswap_ulong +_byteswap_ushort +_cabs +_chgsign +_clearfp +_controlfp +_copysign +_ecvt +_fcloseall +_fcvt +_fileno +_finite +_fltused +_flushall +_fpclass +_fpieee_flt +_fpreset +_frnd +_fsqrt +_gcvt +_getstdfilex +_getws +_hypot +_isctype +_isnan +_isnanf +_isunordered +_isunorderedf +_itoa +_itow +_j0 +_j1 +_jn +_ld12tod +_ld12tof +_logb +_lrotl +_lrotr +_ltoa +_ltow +_mbmemset +_memccpy +_memicmp +_msize +_nextafter +_purecall +_putws +_rotl +_rotl64 +_rotr +_rotr64 +_scalb +_setmode +_snprintf +_snwprintf +_statusfp +_strdup +_stricmp +_strlwr +_strnicmp +_strnset +_strrev +_strset +_strupr +_swab +_ultoa +_ultow +_vsnprintf +_vsnwprintf +_wcsdup +_wcsicmp +_wcslwr +_wcsnicmp +_wcsnset +_wcsrev +_wcsset +_wcsupr +_wfdopen +_wfopen +_wfreopen +_wtol +_wtoll +_y0 +_y1 +_yn +abs +acmDriverAdd +acmDriverClose +acmDriverDetails +acmDriverEnum +acmDriverID +acmDriverMessage +acmDriverOpen +acmDriverPriority +acmDriverRemove +acmFilterChoose +acmFilterDetails +acmFilterEnum +acmFilterTagDetails +acmFilterTagEnum +acmFormatChoose +acmFormatDetails +acmFormatEnum +acmFormatSuggest +acmFormatTagDetails +acmFormatTagEnum +acmGetVersion +acmMetrics +acmStreamClose +acmStreamConvert +acmStreamMessage +acmStreamOpen +acmStreamPrepareHeader +acmStreamReset +acmStreamSize +acmStreamUnprepareHeader +acos +asin +atan +atan2 +atof +atoi +atol +calloc +ceil +ceilf +clearerr +cos +cosh +difftime +div +exp +fabs +fabsf +fclose +feof +ferror +fflush +fgetc +fgetpos +fgets +fgetwc +fgetws +floor +floorf +fmod +fmodf +fopen +fprintf +fputc +fputs +fputwc +fputws +fread +free +frexp +fscanf +fseek +fsetpos +ftell +fwprintf +fwrite +fwscanf +getchar +gets +getwchar +iswctype +keybd_event +labs +ldexp +ldiv +lineAccept +lineAddProvider +lineAddToConference +lineAnswer +lineBlindTransfer +lineClose +lineCompleteTransfer +lineConfigDialogEdit +lineDeallocateCall +lineDevSpecific +lineDial +lineDrop +lineForward +lineGenerateDigits +lineGenerateTone +lineGetAddressCaps +lineGetAddressID +lineGetAddressStatus +lineGetAppPriority +lineGetCallInfo +lineGetCallStatus +lineGetConfRelatedCalls +lineGetDevCaps +lineGetDevConfig +lineGetID +lineGetIcon +lineGetLineDevStatus +lineGetMessage +lineGetNewCalls +lineGetNumRings +lineGetProviderList +lineGetStatusMessages +lineGetTranslateCaps +lineHandoff +lineHold +lineInitialize +lineInitializeEx +lineMakeCall +lineMonitorDigits +lineMonitorMedia +lineNegotiateAPIVersion +lineNegotiateExtVersion +lineOpen +linePickup +linePrepareAddToConference +lineRedirect +lineReleaseUserUserInfo +lineRemoveFromConference +lineSendUserUserInfo +lineSetAppPriority +lineSetCallParams +lineSetCallPrivilege +lineSetCurrentLocation +lineSetDevConfig +lineSetMediaMode +lineSetNumRings +lineSetStatusMessages +lineSetTerminal +lineSetTollList +lineSetupConference +lineSetupTransfer +lineShutdown +lineSwapHold +lineTranslateAddress +lineTranslateDialog +lineUnhold +log +log10 +longjmp +lstrcmpW +lstrcmpiW +malloc +mbstowcs +memchr +memcmp +memcpy +memmove +memset +mixerClose +mixerGetControlDetails +mixerGetDevCaps +mixerGetID +mixerGetLineControls +mixerGetLineInfo +mixerGetNumDevs +mixerMessage +mixerOpen +mixerSetControlDetails +modf +mouse_event +phoneClose +phoneConfigDialog +phoneDevSpecific +phoneGetDevCaps +phoneGetGain +phoneGetHookSwitch +phoneGetID +phoneGetIcon +phoneGetMessage +phoneGetRing +phoneGetStatus +phoneGetStatusMessages +phoneGetVolume +phoneInitializeEx +phoneNegotiateAPIVersion +phoneNegotiateExtVersion +phoneOpen +phoneSetGain +phoneSetHookSwitch +phoneSetRing +phoneSetStatusMessages +phoneSetVolume +phoneShutdown +pow +printf +putchar +puts +putwchar +qsort +rand +realloc +scanf +setjmp +setvbuf +sin +sinh +sndPlaySoundW +sprintf +sqrt +sqrtf +srand +sscanf +strcat +strchr +strcmp +strcpy +strcspn +strlen +strncat +strncmp +strncpy +strpbrk +strrchr +strspn +strstr +strtod +strtok +strtol +strtoul +swprintf +swscanf +tan +tanh +tolower +toupper +towlower +towupper +ungetc +ungetwc +vfprintf +vfwprintf +vprintf +vsprintf +vswprintf +vwprintf +waveInAddBuffer +waveInClose +waveInGetDevCaps +waveInGetErrorText +waveInGetID +waveInGetNumDevs +waveInGetPosition +waveInMessage +waveInOpen +waveInPrepareHeader +waveInReset +waveInStart +waveInStop +waveInUnprepareHeader +waveOutBreakLoop +waveOutClose +waveOutGetDevCaps +waveOutGetErrorText +waveOutGetID +waveOutGetNumDevs +waveOutGetPitch +waveOutGetPlaybackRate +waveOutGetPosition +waveOutGetVolume +waveOutMessage +waveOutOpen +waveOutPause +waveOutPrepareHeader +waveOutReset +waveOutRestart +waveOutSetPitch +waveOutSetPlaybackRate +waveOutSetVolume +waveOutUnprepareHeader +waveOutWrite +wcscat +wcschr +wcscmp +wcscpy +wcscspn +wcslen +wcsncat +wcsncmp +wcsncpy +wcspbrk +wcsrchr +wcsspn +wcsstr +wcstod +wcstok +wcstol +wcstombs +wcstoul +wprintf +wscanf +wsprintfW +wvsprintfW + +; +; Stuff for Windows CE / Windows Mobile 6.x +; +CeSetThreadPriority +CeGetThreadPriority +EnumDeviceInterfaces +EnumDevices +FindFirstDevice +FindNextDevice +GetDeviceInformationByDeviceHandle +GetDeviceInformationByFileHandle This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2009-04-21 18:19:37
|
Revision: 1248 http://cegcc.svn.sourceforge.net/cegcc/?rev=1248&view=rev Author: dannybackx Date: 2009-04-21 18:19:25 +0000 (Tue, 21 Apr 2009) Log Message: ----------- Fix the problem reported on the list about image_base. Modified Paths: -------------- trunk/cegcc/src/mingw/ChangeLog.mingw32ce trunk/cegcc/src/mingw/include/_mingw.h Modified: trunk/cegcc/src/mingw/ChangeLog.mingw32ce =================================================================== --- trunk/cegcc/src/mingw/ChangeLog.mingw32ce 2009-04-20 21:35:10 UTC (rev 1247) +++ trunk/cegcc/src/mingw/ChangeLog.mingw32ce 2009-04-21 18:19:25 UTC (rev 1248) @@ -1,3 +1,9 @@ +2009-04-22 Danny Backx <dan...@us...> + + * include/_mingw.h : Change test to check for __arm__ instead of + __ARM__. The latter is only declared by an include file, the former + is built into the compiler. + 2009-04-16 Danny Backx <dan...@us...> * Makefile.in (DLLSTARTUPSYM): Create extra variable to prefix Modified: trunk/cegcc/src/mingw/include/_mingw.h =================================================================== --- trunk/cegcc/src/mingw/include/_mingw.h 2009-04-20 21:35:10 UTC (rev 1247) +++ trunk/cegcc/src/mingw/include/_mingw.h 2009-04-21 18:19:25 UTC (rev 1248) @@ -204,7 +204,7 @@ #define __MINGW_ATTRIB_NONNULL(arg) #endif /* GNUC >= 3.3 */ -#if defined(UNDER_CE) && defined(__ARM__) +#if defined(UNDER_CE) && defined(__arm__) /* ARM Windows CE is not underscored. */ # define __U(SYM) _ ## SYM # define __IMP(S) __imp_ ## S This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2009-04-20 21:35:20
|
Revision: 1247 http://cegcc.svn.sourceforge.net/cegcc/?rev=1247&view=rev Author: dannybackx Date: 2009-04-20 21:35:10 +0000 (Mon, 20 Apr 2009) Log Message: ----------- Add another example Modified Paths: -------------- trunk/cegcc/docs/debugging.html Modified: trunk/cegcc/docs/debugging.html =================================================================== --- trunk/cegcc/docs/debugging.html 2009-04-20 19:22:29 UTC (rev 1246) +++ trunk/cegcc/docs/debugging.html 2009-04-20 21:35:10 UTC (rev 1247) @@ -4,16 +4,157 @@ <p> I didn't know what to expect from a cross-debugging session so I figure there must be others like me. -Here's a transcript of a debugging session I -did with the cross-debugger that's part of the -<font color="red"><b>0.02</b></font> -binary pre-release of cegcc. -(Don't worry about the old version number, all of this is still valid.) +Here are a few transcripts of a debugging sessions I +did with the cross-debugger. +(Don't worry about the old version number in some of the cases, +all of this is still valid.) <p> I've annotated it slightly. My input is in <font color="green"><i>green italic</i></font>, my notes are in <font color="red"><b>red bold</b></font>, all the rest is output. +<h1>A debugging session with gdb 6.8 and gdbserver (cegcc svn as of April 2009)</h1> +<p> +I used two two xterm windows in this debugging session. +One was used to start the application on the remote device, +the other contained the gdb session. +<p> +The window used to start the application obviously also shows its output. +It is not disturbed by gdb input/output, +a big difference with the older debugging sessions (without gdbserver) below. +<h2>Application startup via gdbserver</h2> +<pre> +dannypc: {25} <font color="green"><i>arm-mingw32ce-gcc -g -o fibo.exe fibo.c</i></font> +dannypc: {26} <font color="green"><i>rcp fibo.exe ipaq:/temp</i></font> +dannypc: {27} <font color="green"><i>rsh ipaq /temp/gdbserver :9999 /temp/fibo.exe</i></font> <font color="red"><b>Starts the application, tell gdbserver that it should expect a gdb at port number 9999</b></font> +Process /temp/fibo.exe created; pid = 610050410 +Listening on port 9999 +Remote debugging from host 172.17.1.2 <font color="red"><b>This appears after the first <font color="green">c</font> command in gdb</b></font> +Yow, command [\temp\fibo.exe] param [] +fibo(1) = 1 <font color="red"><b>This appears after the second <font color="green">c</font> command in gdb</b></font> +fibo(2) = 1 <font color="red"><b>This appears after ... etc</b></font> +fibo(3) = 2 +fibo(4) = 3 +fibo(5) = 5 +fibo(6) = 8 +fibo(7) = 13 +fibo(8) = 21 +fibo(9) = 34 +fibo(10) = 55 +fibo(11) = 89 +fibo(12) = 144 +fibo(13) = 233 +fibo(14) = 377 +fibo(15) = 610 +fibo(16) = 987 +fibo(17) = 1597 +fibo(18) = 2584 +fibo(19) = 4181 + +Child exited with status 0 +</pre> +<h2>The debugging session</h2> +<pre> +dannypc: {110} <font color="green"><i>arm-mingw32ce-gdb fibo.exe </i></font> +GNU gdb 6.8 +Copyright (C) 2008 Free Software Foundation, Inc. +License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> +This is free software: you are free to change and redistribute it. +There is NO WARRANTY, to the extent permitted by law. Type "show copying" +and "show warranty" for details. +This GDB was configured as "--host=i686-pc-linux-gnu --target=arm-mingw32ce"... +(gdb) <font color="green"><i>target remote ipaq:9999 </i></font><font color="red"><b>Tell gdb which remote target to connect to, port number must match the one used in the gdbserver startup</b></font> +Remote debugging using ipaq:9999 +[New Thread 574050242] +Error while mapping shared library sections: +coredll.dll.0409.mui: No such file or directory. +Error while mapping shared library sections: +coredll.dll: No such file or directory. +Symbol file not found for coredll.dll.0409.mui +Symbol file not found for coredll.dll +WinMainCRTStartup (hInst=0x245ca16a, hPrevInst=0x0, lpCmdLine=0x2611fed8, + nCmdShow=5) + at /home/danny/src/cegcc/svn.sf.net/cegcc/trunk/cegcc/src/mingw/crt3.c:35 +35 { +(gdb) where +#0 WinMainCRTStartup (hInst=0x245ca16a, hPrevInst=0x0, lpCmdLine=0x2611fed8, + nCmdShow=5) + at /home/danny/src/cegcc/svn.sf.net/cegcc/trunk/cegcc/src/mingw/crt3.c:35 +(gdb) <font color="green"><i>l WinMain</i></font> +11 return 1; +12 return fibo(n-1) + fibo(n-2); +13 } +14 +15 int APIENTRY WinMain(HINSTANCE a,HINSTANCE b,LPWSTR c,int d) +16 { +17 FILE *f; +18 int i, r, len; +19 wchar_t *ws, buf[MAX_PATH]; +20 char *s; +(gdb) +21 +22 #ifdef TO_FILE +23 f = fopen(FN, "w"); +24 #else +25 f = stderr; +26 #endif +27 len = GetModuleFileNameW(NULL, buf, MAX_PATH); +28 s = malloc(len+1); +29 wcstombs(s, buf, len+1); +30 fprintf(f, "Yow, command [%s] ", s); +(gdb) +31 ws = GetCommandLineW(); +32 len = wcslen(ws); +33 s = malloc(len+1); +34 wcstombs(s, ws, len+1); +35 fprintf(f, "param [%s]\r\n", s); +36 +37 for (i=1; i<20; i++) { +38 r = fibo(i); +39 fprintf(f, "fibo(%d) = %d\r\n", i, r); +40 } +(gdb) <font color="green"><i>break 39</i></font> +Breakpoint 1 at 0x112c0: file fibo.c, line 39. +(gdb) <font color="green"><i>c</i></font> +Continuing. + +Breakpoint 1, WinMain (a=0x245ca16a, b=0x0, c=0x2611fed8, d=5) at fibo.c:39 +39 fprintf(f, "fibo(%d) = %d\r\n", i, r); +(gdb) <font color="green"><i>p i</i></font> +$1 = 1 +(gdb) <font color="green"><i>p r</i></font> +$2 = 1 +(gdb) <font color="green"><i>c</i></font> +Continuing. + +Breakpoint 1, WinMain (a=0x245ca16a, b=0x0, c=0x2611fed8, d=5) at fibo.c:39 +39 fprintf(f, "fibo(%d) = %d\r\n", i, r); +(gdb) <font color="green"><i>p i</i></font> +$3 = 2 +(gdb) <font color="green"><i>p r</i></font> +$4 = 1 +(gdb) <font color="green"><i>c</i></font> +Continuing. + +Breakpoint 1, WinMain (a=0x245ca16a, b=0x0, c=0x2611fed8, d=5) at fibo.c:39 +39 fprintf(f, "fibo(%d) = %d\r\n", i, r); +(gdb) <font color="green"><i>p i</i></font> +$5 = 3 +(gdb) <font color="green"><i>p r</i></font> +$6 = 2 +(gdb) <font color="green"><i>c</i></font> +Continuing. + +Breakpoint 1, WinMain (a=0x245ca16a, b=0x0, c=0x2611fed8, d=5) at fibo.c:39 +39 fprintf(f, "fibo(%d) = %d\r\n", i, r); +(gdb) <font color="green"><i>del 1</i></font> +(gdb) <font color="green"><i>c</i></font> +Continuing. + +Program exited normally. +(gdb) <font color="green"><i>q</i></font> +dannypc: {111} +</pre> <h1>A debugging session with 0.02 using RAPI</h1> <p> <pre> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2009-04-20 19:22:42
|
Revision: 1246 http://cegcc.svn.sourceforge.net/cegcc/?rev=1246&view=rev Author: dannybackx Date: 2009-04-20 19:22:29 +0000 (Mon, 20 Apr 2009) Log Message: ----------- Add definitions, see bug #2750015. Modified Paths: -------------- trunk/cegcc/src/w32api/ChangeLog.ce trunk/cegcc/src/w32api/include/winbase.h Modified: trunk/cegcc/src/w32api/ChangeLog.ce =================================================================== --- trunk/cegcc/src/w32api/ChangeLog.ce 2009-04-16 18:12:37 UTC (rev 1245) +++ trunk/cegcc/src/w32api/ChangeLog.ce 2009-04-20 19:22:29 UTC (rev 1246) @@ -1,3 +1,8 @@ +2009-04-20 Johnny Willemsen <jwi...@re...> + + * include/winbase.h (CeSetThreadPriority, CeGetThreadPriority) : + Declare. + 2009-04-15 Danny Backx <dan...@us...> * include/winbase.h : Include inlined functions only from one file. Modified: trunk/cegcc/src/w32api/include/winbase.h =================================================================== --- trunk/cegcc/src/w32api/include/winbase.h 2009-04-16 18:12:37 UTC (rev 1245) +++ trunk/cegcc/src/w32api/include/winbase.h 2009-04-20 19:22:29 UTC (rev 1246) @@ -2207,6 +2207,11 @@ WINBASEAPI BOOL CeSetThreadQuantum(HANDLE hThread, DWORD dwTime); #endif +#if (_WIN32_WCE >= 0x500) +WINBASEAPI BOOL WINAPI CeSetThreadPriority(HANDLE hThread, int nPriority); +WINBASEAPI int WINAPI CeGetThreadPriority(HANDLE hThread); +#endif + #ifdef UNICODE typedef STARTUPINFOW STARTUPINFO,*LPSTARTUPINFO; typedef WIN32_FIND_DATAW WIN32_FIND_DATA,*PWIN32_FIND_DATA,*LPWIN32_FIND_DATA; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2009-04-16 18:12:48
|
Revision: 1245 http://cegcc.svn.sourceforge.net/cegcc/?rev=1245&view=rev Author: dannybackx Date: 2009-04-16 18:12:37 +0000 (Thu, 16 Apr 2009) Log Message: ----------- The fix, hopefully right, for the image_base issue. Modified Paths: -------------- trunk/cegcc/src/mingw/ChangeLog.mingw32ce trunk/cegcc/src/mingw/Makefile.in trunk/cegcc/src/mingw/include/_mingw.h Modified: trunk/cegcc/src/mingw/ChangeLog.mingw32ce =================================================================== --- trunk/cegcc/src/mingw/ChangeLog.mingw32ce 2009-04-16 17:17:38 UTC (rev 1244) +++ trunk/cegcc/src/mingw/ChangeLog.mingw32ce 2009-04-16 18:12:37 UTC (rev 1245) @@ -1,3 +1,9 @@ +2009-04-16 Danny Backx <dan...@us...> + + * Makefile.in (DLLSTARTUPSYM): Create extra variable to prefix + the DllMainCRTStartup symbol with an underscore when on an x86 target. + * include/_mingw.h (__U, __IMP) : Define them separately for x86. + 2009-04-16 Johnny Willemsen <jwi...@re...> * gccmain.c (do_global_dtors, do_global_ctors): Add _mingw prefix Modified: trunk/cegcc/src/mingw/Makefile.in =================================================================== --- trunk/cegcc/src/mingw/Makefile.in 2009-04-16 17:17:38 UTC (rev 1244) +++ trunk/cegcc/src/mingw/Makefile.in 2009-04-16 18:12:37 UTC (rev 1245) @@ -284,9 +284,19 @@ $(AR) $(ARFLAGS) $@ crtmt.o $(RANLIB) $@ +# +# Special rule because this target has a leading underscore +# where others (ARM) do not. +# +ifeq ($(target_alias),i386-mingw32ce) +DLLSTARTUPSYM=_DllMainCRTStartup +else +DLLSTARTUPSYM=DllMainCRTStartup +endif + DLL_OFILES = mthr.o mthr_init.o DLL_CC_STUFF = -B./ -shared $(MNO_CYGWIN) -Wl,--image-base,0x6FBC0000 \ - -Wl,--entry,DllMainCRTStartup \ + -Wl,--entry,$(DLLSTARTUPSYM) \ $(DLL_OFILES) mingwthrd.def \ -Lmingwex @@ -356,7 +366,7 @@ libceoldname.a: moldname-coredll.def $(MOLD_OBJS) $(DLLTOOL) --as $(AS) -k -U \ - --dllname coredll.dll \ + --dllname COREDLL \ --def moldname-coredll.def \ --output-lib $@ $(AR) rc $@ $(MOLD_OBJS) Modified: trunk/cegcc/src/mingw/include/_mingw.h =================================================================== --- trunk/cegcc/src/mingw/include/_mingw.h 2009-04-16 17:17:38 UTC (rev 1244) +++ trunk/cegcc/src/mingw/include/_mingw.h 2009-04-16 18:12:37 UTC (rev 1245) @@ -204,10 +204,14 @@ #define __MINGW_ATTRIB_NONNULL(arg) #endif /* GNUC >= 3.3 */ -#ifdef UNDER_CE +#if defined(UNDER_CE) && defined(__ARM__) /* ARM Windows CE is not underscored. */ # define __U(SYM) _ ## SYM # define __IMP(S) __imp_ ## S +#elif defined(UNDER_CE) && defined(i386) +/* i386 Windows CE versions are underscored. */ +# define __U(SYM) SYM +# define __IMP(S) _imp__ ## S #else /* Desktop i386 Windows versions are underscored. */ # define __U(SYM) SYM This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2009-04-16 17:17:43
|
Revision: 1244 http://cegcc.svn.sourceforge.net/cegcc/?rev=1244&view=rev Author: dannybackx Date: 2009-04-16 17:17:38 +0000 (Thu, 16 Apr 2009) Log Message: ----------- One more from Johnny : I added a mingw_ prefix to the global methods. Now the libstdc++ does compile without problems. The problem doesn't appear with ARM because ARM uses ELF and then the _do_global_dtors and _do_global_ctors are not compiled as part of libgcc2.c Modified Paths: -------------- trunk/cegcc/src/mingw/ChangeLog.mingw32ce trunk/cegcc/src/mingw/gccmain.c Modified: trunk/cegcc/src/mingw/ChangeLog.mingw32ce =================================================================== --- trunk/cegcc/src/mingw/ChangeLog.mingw32ce 2009-04-16 17:10:35 UTC (rev 1243) +++ trunk/cegcc/src/mingw/ChangeLog.mingw32ce 2009-04-16 17:17:38 UTC (rev 1244) @@ -1,3 +1,11 @@ +2009-04-16 Johnny Willemsen <jwi...@re...> + + * gccmain.c (do_global_dtors, do_global_ctors): Add _mingw prefix + to the global methods to avoid name conflict with libstdc++. This + problem doesn't appear with ARM because ARM uses ELF and then the + _do_global_dtors and _do_global_ctors are not compiled as part + of libgcc2.c + 2009-04-07 Danny Backx <dan...@us...> * include/stdio.h (_wfdopen) : Add const keyword to 2nd parameter Modified: trunk/cegcc/src/mingw/gccmain.c =================================================================== --- trunk/cegcc/src/mingw/gccmain.c 2009-04-16 17:10:35 UTC (rev 1243) +++ trunk/cegcc/src/mingw/gccmain.c 2009-04-16 17:17:38 UTC (rev 1244) @@ -19,7 +19,7 @@ extern func_ptr __DTOR_LIST__[]; void -__do_global_dtors (void) +__mingw_do_global_dtors (void) { static func_ptr *p = __DTOR_LIST__ + 1; @@ -35,7 +35,7 @@ } void -__do_global_ctors (void) +__mingw_do_global_ctors (void) { unsigned long nptrs = (unsigned long) __CTOR_LIST__[0]; unsigned i; @@ -51,7 +51,7 @@ ; } - /* + /* * Go through the list backwards calling constructors. */ for (i = nptrs; i >= 1; i--) @@ -62,7 +62,7 @@ /* * Register the destructors for processing on exit. */ - atexit (__do_global_dtors); + atexit (__mingw_do_global_dtors); } static int initialized = 0; @@ -77,7 +77,7 @@ if (!initialized) { initialized = 1; - __do_global_ctors (); + __mingw_do_global_ctors (); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2009-04-16 17:10:45
|
Revision: 1243 http://cegcc.svn.sourceforge.net/cegcc/?rev=1243&view=rev Author: dannybackx Date: 2009-04-16 17:10:35 +0000 (Thu, 16 Apr 2009) Log Message: ----------- Change __arm__ #ifdefs into UNDER_CE so it works for x86 too. Modified Paths: -------------- trunk/cegcc/src/profile/ChangeLog.mingw32ce trunk/cegcc/src/profile/profile/profil.c Modified: trunk/cegcc/src/profile/ChangeLog.mingw32ce =================================================================== --- trunk/cegcc/src/profile/ChangeLog.mingw32ce 2009-04-15 11:27:17 UTC (rev 1242) +++ trunk/cegcc/src/profile/ChangeLog.mingw32ce 2009-04-16 17:10:35 UTC (rev 1243) @@ -1,3 +1,8 @@ +2009-04-16 Johnny Willemsen <jwi...@re...> + + * profile/profil.c : Change __arm__ #ifdefs to UNDER_CE so they work + on x86 too. + 2008-01-13 Danny Backx <dan...@us...> * profile/config.sub profile/Makefile.in : Adjust so arm-cegcc and Modified: trunk/cegcc/src/profile/profile/profil.c =================================================================== --- trunk/cegcc/src/profile/profile/profil.c 2009-04-15 11:27:17 UTC (rev 1242) +++ trunk/cegcc/src/profile/profile/profil.c 2009-04-16 17:10:35 UTC (rev 1243) @@ -65,7 +65,7 @@ } #endif -/* Everytime we wake up use the main thread pc to hash into the cell in the +/* Everytime we wake up use the main thread pc to hash into the cell in the profile buffer ARG. */ static DWORD CALLBACK @@ -117,7 +117,7 @@ GetCurrentProcess (), &p->targthr, 0, FALSE, DUPLICATE_SAME_ACCESS)) { -#ifndef __arm__ +#ifndef UNDER_CE errno = ESRCH; #endif return -1; @@ -135,7 +135,7 @@ { CloseHandle (p->targthr); p->targthr = 0; -#ifndef __arm__ +#ifndef UNDER_CE errno = EAGAIN; #endif return -1; @@ -148,7 +148,7 @@ * * profiling goes into the SAMPLES buffer of size SIZE (which is treated * as an array of u_shorts of size size/2) - * + * * each bin represents a range of pc addresses from OFFSET. The number * of pc addresses in a bin depends on SCALE. (A scale of 65536 maps * each bin to two addresses, A scale of 32768 maps each bin to 4 addresses, @@ -163,7 +163,7 @@ if (scale > 65536) { -#ifndef __arm__ +#ifndef UNDER_CE errno = EINVAL; #endif return -1; @@ -185,9 +185,9 @@ return 0; } -/* Equivalent to unix profil() - Every SLEEPTIME interval, the user's program counter (PC) is examined: - offset is subtracted and the result is multiplied by scale. +/* Equivalent to unix profil() + Every SLEEPTIME interval, the user's program counter (PC) is examined: + offset is subtracted and the result is multiplied by scale. The word pointed to by this address is incremented. Buf is unused. */ int This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |