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...> - 2006-11-03 11:41:06
|
Revision: 771 http://svn.sourceforge.net/cegcc/?rev=771&view=rev Author: dannybackx Date: 2006-11-03 03:40:54 -0800 (Fri, 03 Nov 2006) Log Message: ----------- This tests the profiling stuff I'll commit shortly. Modified Paths: -------------- trunk/cegcc/test/profile/Makefile trunk/cegcc/test/profile/m2.c Modified: trunk/cegcc/test/profile/Makefile =================================================================== --- trunk/cegcc/test/profile/Makefile 2006-11-02 01:52:36 UTC (rev 770) +++ trunk/cegcc/test/profile/Makefile 2006-11-03 11:40:54 UTC (rev 771) @@ -2,36 +2,73 @@ CEGCC= arm-wince-cegcc-gcc ${CFLAGS} CFLAGS= -pg -all: m1.gmon.out m1.exe m1.explain +.SUFFIXES: .c .mexe .cexe .co .mo -m1.exe: m1.c a.c b.c - ${MCC} -o m1.exe m1.c a.c b.c +.c.mexe: + ${MCC} -o $@ $? -m1.gmon.out: m1.exe - pcp m1.exe ":/storage card/devel/m1.exe" - prun "/storage card/devel/m1.exe" - sleep 10 - pcp ":/gmon.out" m1.gmon.out - prm ":/gmon.out" +.c.cexe: + ${CEGCC} -o $@ $? -m1.explain: m1.gmon.out - arm-wince-mingw32ce-gprof m1.exe m1.gmon.out >m1.explain +.c.mo: + ${MCC} -c $? -o $@ +.c.co: + ${CEGCC} -c $? -o $@ + +all:: execs explains + +execs:: m1.cexe m1.mexe m2.cexe m2.mexe + +m1.cexe: m1.c a.co b.co + +m1.mexe: m1.c a.mo b.mo + +m2.cexe: m2.c a.co b.co + +m2.mexe: m2.c a.mo b.mo + clean: - -rm -f m1.exe m1.gmon.out m1.explain - -rm -f m2.exe m2.gmon.out m2.explain + -rm -f *.co *.mo *.mexe *.cexe *.explain *.gmon.out -all: m2.gmon.out m2.exe m2.explain +m1c.explain: m1c.gmon.out + arm-wince-cegcc-gprof m1.cexe m1c.gmon.out >m1c.explain -m2.exe: m2.c a.c b.c - ${CEGCC} -o m2.exe m2.c a.c b.c +m2c.explain: m2c.gmon.out + arm-wince-cegcc-gprof m2.cexe m2c.gmon.out >m2c.explain -m2.gmon.out: m2.exe - pcp m2.exe ":/storage card/devel/m2.exe" - prun "/storage card/devel/m2.exe" +m1m.explain: m1m.gmon.out + arm-wince-mingw32ce-gprof m1.mexe m1m.gmon.out >m1m.explain + +m2m.explain: m2m.gmon.out + arm-wince-mingw32ce-gprof m2.mexe m2m.gmon.out >m2m.explain + +explains:: m1c.explain m2c.explain m1m.explain m2m.explain + +m1c.gmon.out: m1.cexe + pcp m1.cexe ":/storage card/devel/m1c.exe" + prun "/storage card/devel/m1c.exe" sleep 10 - pcp ":/gmon.out" m2.gmon.out - prm ":/gmon.out" + pcp ":/storage card/devel/m1c.gmo" m1c.gmon.out + prm ":/storage card/devel/m1c.gmo" -m2.explain: m2.gmon.out - arm-wince-cegcc-gprof m2.exe m2.gmon.out >m2.explain +m1m.gmon.out: m1.mexe + pcp m1.mexe ":/storage card/devel/m1m.exe" + prun "/storage card/devel/m1m.exe" + sleep 10 + pcp ":/storage card/devel/m1m.gmo" m1m.gmon.out + prm ":/storage card/devel/m1m.gmo" + +m2c.gmon.out: m2.cexe + pcp m2.cexe ":/storage card/devel/m2c.exe" + prun "/storage card/devel/m2c.exe" + sleep 10 + pcp ":/storage card/devel/m2c.gmo" m2c.gmon.out + prm ":/storage card/devel/m2c.gmo" + +m2m.gmon.out: m2.mexe + pcp m2.mexe ":/storage card/devel/m2m.exe" + prun "/storage card/devel/m2m.exe" + sleep 10 + pcp ":/storage card/devel/m2m.gmo" m2m.gmon.out + prm ":/storage card/devel/m2m.gmo" Modified: trunk/cegcc/test/profile/m2.c =================================================================== --- trunk/cegcc/test/profile/m2.c 2006-11-02 01:52:36 UTC (rev 770) +++ trunk/cegcc/test/profile/m2.c 2006-11-03 11:40:54 UTC (rev 771) @@ -2,14 +2,19 @@ /* - * Profiling test + * Profiling test with WinMain(). */ extern void func_a(int i); extern int fibo(int x); extern int func_b(int i); -main(int argc, char *argv[]) +void gui(void) { + MessageBoxW(0, L"HELLO!", L"H3LLO!", 0); +} + +int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nCmdShow) +{ int i; for (i=1; i<10; i++) { @@ -19,4 +24,6 @@ for (i=1; i<30; i++) { (void) func_b(i); } + + gui(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2006-11-02 01:52:49
|
Revision: 770 http://svn.sourceforge.net/cegcc/?rev=770&view=rev Author: pedroalves Date: 2006-11-01 17:52:36 -0800 (Wed, 01 Nov 2006) Log Message: ----------- * include/winuser.h (DialogBoxParamW) : Implement on terms of DialogBoxIndirectParamW. 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 2006-11-01 13:09:36 UTC (rev 769) +++ trunk/cegcc/src/w32api/ChangeLog.ce 2006-11-02 01:52:36 UTC (rev 770) @@ -1,3 +1,8 @@ +2006-11-02 Kevin O'Connor <ke...@ko...> + + * include/winuser.h (DialogBoxParamW) : Implement on terms of + DialogBoxIndirectParamW. + 2006-11-01 Danny Backx <dan...@us...> * include/todaycmn.h : Add file. Modified: trunk/cegcc/src/w32api/include/winuser.h =================================================================== --- trunk/cegcc/src/w32api/include/winuser.h 2006-11-01 13:09:36 UTC (rev 769) +++ trunk/cegcc/src/w32api/include/winuser.h 2006-11-02 01:52:36 UTC (rev 770) @@ -3472,8 +3472,12 @@ #define DialogBoxIndirectW(i,t,p,f) DialogBoxIndirectParamW(i,t,p,f,0) WINUSERAPI int WINAPI DialogBoxIndirectParamA(HINSTANCE,LPCDLGTEMPLATE,HWND,DLGPROC,LPARAM); WINUSERAPI int WINAPI DialogBoxIndirectParamW(HINSTANCE,LPCDLGTEMPLATE,HWND,DLGPROC,LPARAM); +#ifdef _WIN32_WCE +#define DialogBoxParamW(i,t,p,f,o) DialogBoxIndirectParamW(i, (LPCDLGTEMPLATE)LoadResource(i, FindResource(i, t, RT_DIALOG)), p, f, o) +#else WINUSERAPI int WINAPI DialogBoxParamA(HINSTANCE,LPCSTR,HWND,DLGPROC,LPARAM); WINUSERAPI int WINAPI DialogBoxParamW(HINSTANCE,LPCWSTR,HWND,DLGPROC,LPARAM); +#endif WINUSERAPI LONG WINAPI DispatchMessageA(const MSG*); WINUSERAPI LONG WINAPI DispatchMessageW(const MSG*); WINUSERAPI int WINAPI DlgDirListA(HWND,LPSTR,int,int,UINT); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2006-11-01 13:11:52
|
Revision: 769 http://svn.sourceforge.net/cegcc/?rev=769&view=rev Author: dannybackx Date: 2006-11-01 05:09:36 -0800 (Wed, 01 Nov 2006) Log Message: ----------- Add file submitted by Nuno Modified Paths: -------------- trunk/cegcc/src/w32api/ChangeLog.ce Added Paths: ----------- trunk/cegcc/src/w32api/include/todaycmn.h Modified: trunk/cegcc/src/w32api/ChangeLog.ce =================================================================== --- trunk/cegcc/src/w32api/ChangeLog.ce 2006-11-01 12:57:57 UTC (rev 768) +++ trunk/cegcc/src/w32api/ChangeLog.ce 2006-11-01 13:09:36 UTC (rev 769) @@ -1,3 +1,12 @@ +2006-11-01 Danny Backx <dan...@us...> + + * include/todaycmn.h : Add file. + +2006-11-01 Danny Backx <dan...@us...> + + * include/winbase.h (lstrcpy, lstrcat, lstrlen) : Add includes + to define these. + 2006-10-29 Danny Backx <dan...@us...> * include/winuser.h (WS_EX_NODRAG) : Define. Added: trunk/cegcc/src/w32api/include/todaycmn.h =================================================================== --- trunk/cegcc/src/w32api/include/todaycmn.h (rev 0) +++ trunk/cegcc/src/w32api/include/todaycmn.h 2006-11-01 13:09:36 UTC (rev 769) @@ -0,0 +1,83 @@ +#ifndef _TODAYCMN_H_ +#define _TODAYCMN_H_ + +#if __GNUC__ >=3 +#pragma GCC system_header +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/* List item types */ +typedef enum _TODAYLISTITEMTYPE +{ + tlitOwnerInfo = 0, + tlitAppointments, + tlitMail, + tlitTasks, + tlitCustom, + tlitNil /* sentinel */ +} TODAYLISTITEMTYPE; + +#define MAX_ITEMNAME 32 + +/* Information for a single today item */ +typedef struct _TODAYLISTITEM +{ + TCHAR szName[MAX_ITEMNAME]; + TODAYLISTITEMTYPE tlit; + DWORD dwOrder; + DWORD cyp; + BOOL fEnabled; + BOOL fOptions; + DWORD grfFlags; + TCHAR szDLLPath[MAX_PATH]; + HINSTANCE hinstDLL; + HWND hwndCustom; + BOOL fSizeOnDraw; + BYTE *prgbCachedData; + DWORD cbCachedData; +} TODAYLISTITEM; + +/* Maximum number of today items */ +#define k_cTodayItemsMax 12 + +/* Custom DLL resources */ +#define IDI_ICON 128 +#define IDD_TODAY_CUSTOM 500 + +/* Custom DLL functions */ +#define ORDINAL_INITIALIZEITEM 240 +typedef HWND (*PFNCUSTOMINITIALIZEITEM)(TODAYLISTITEM *, HWND); +#define ORDINAL_OPTIONSDIALOGPROC 241 +typedef BOOL (*PFNCUSTOMOPTIONSDLGPROC)(HWND, UINT, UINT, LONG); + +/* Custom DLL messages */ +#define WM_TODAYCUSTOM_CLEARCACHE (WM_USER + 242) +#define WM_TODAYCUSTOM_QUERYREFRESHCACHE (WM_USER + 243) +#define WM_TODAYCUSTOM_RECEIVEDSELECTION (WM_USER + 244) +#define WM_TODAYCUSTOM_LOSTSELECTION (WM_USER + 245) +#define WM_TODAYCUSTOM_USERNAVIGATION (WM_USER + 246) +#define WM_TODAYCUSTOM_ACTION (WM_USER + 247) + +/* Messages to parent window */ +#define TODAYM_DRAWWATERMARK (WM_USER + 101) +#define TODAYM_TOOKSELECTION (WM_USER + 102) + +/* Today screen system colors */ +#define TODAYCOLOR_HIGHLIGHT (0x10000022) +#define TODAYCOLOR_HIGHLIGHTEDTEXT (0x10000023) + +/* Watermark drawing info */ +typedef struct { + HDC hdc; + RECT rc; + HWND hwnd; +} TODAYDRAWWATERMARKINFO; + +#ifdef __cplusplus +} +#endif + +#endif /* !_TODAYCMN_H_ */ Property changes on: trunk/cegcc/src/w32api/include/todaycmn.h ___________________________________________________________________ Name: 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...> - 2006-11-01 12:58:31
|
Revision: 768 http://svn.sourceforge.net/cegcc/?rev=768&view=rev Author: dannybackx Date: 2006-11-01 04:57:57 -0800 (Wed, 01 Nov 2006) Log Message: ----------- Add log in cegcc.spec, increase numbering to generate 0.11 next time. Modified Paths: -------------- trunk/cegcc/scripts/linux/cegcc.spec trunk/cegcc/scripts/linux/settings.sh Modified: trunk/cegcc/scripts/linux/cegcc.spec =================================================================== --- trunk/cegcc/scripts/linux/cegcc.spec 2006-11-01 10:31:07 UTC (rev 767) +++ trunk/cegcc/scripts/linux/cegcc.spec 2006-11-01 12:57:57 UTC (rev 768) @@ -1,13 +1,13 @@ Summary: CeGCC offers cross-development to create Windows CE apps for ARM processors Name: cegcc -Version: 0.10 +Version: 0.11 Release: 1 License: open Packager: Danny Backx <dan...@us...> Group: Development/Tools Prefixes: /usr/ppc # Source: http://sourceforge.net/project/showfiles.php?group_id=173455 -Source: /tmp/cegcc-src-0.10.tar.gz +Source: /tmp/cegcc-src-0.11.tar.gz # BuildRoot: /tmp/cegcc %description @@ -27,7 +27,7 @@ # RPM_ARCH=i386 # %prep -%setup -n cegcc-0.10 +%setup -n cegcc-0.11 echo script @@ -56,6 +56,10 @@ /usr/ppc/README %changelog +* 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. Modified: trunk/cegcc/scripts/linux/settings.sh =================================================================== --- trunk/cegcc/scripts/linux/settings.sh 2006-11-01 10:31:07 UTC (rev 767) +++ trunk/cegcc/scripts/linux/settings.sh 2006-11-01 12:57:57 UTC (rev 768) @@ -54,7 +54,7 @@ # # The name of this release # -CEGCC_RELEASE=0.10 +CEGCC_RELEASE=0.11 export CEGCC_RELEASE # # The debugging stub This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2006-11-01 10:31:42
|
Revision: 767 http://svn.sourceforge.net/cegcc/?rev=767&view=rev Author: dannybackx Date: 2006-11-01 02:31:07 -0800 (Wed, 01 Nov 2006) Log Message: ----------- This version of the files should generate a working 0.10 RPM shortly. Modified Paths: -------------- trunk/cegcc/scripts/linux/cegcc.spec trunk/cegcc/scripts/linux/install-docs.sh trunk/cegcc/scripts/linux/rpm-build.sh trunk/cegcc/scripts/linux/rpm-create-source.sh trunk/cegcc/scripts/linux/settings.sh This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2006-11-01 10:31:36
|
Revision: 767 http://svn.sourceforge.net/cegcc/?rev=767&view=rev Author: dannybackx Date: 2006-11-01 02:31:07 -0800 (Wed, 01 Nov 2006) Log Message: ----------- This version of the files should generate a working 0.10 RPM shortly. Modified Paths: -------------- trunk/cegcc/scripts/linux/cegcc.spec trunk/cegcc/scripts/linux/install-docs.sh trunk/cegcc/scripts/linux/rpm-build.sh trunk/cegcc/scripts/linux/rpm-create-source.sh trunk/cegcc/scripts/linux/settings.sh Modified: trunk/cegcc/scripts/linux/cegcc.spec =================================================================== --- trunk/cegcc/scripts/linux/cegcc.spec 2006-11-01 10:28:00 UTC (rev 766) +++ trunk/cegcc/scripts/linux/cegcc.spec 2006-11-01 10:31:07 UTC (rev 767) @@ -1,13 +1,13 @@ Summary: CeGCC offers cross-development to create Windows CE apps for ARM processors Name: cegcc -Version: 0.09 -Release: 2 +Version: 0.10 +Release: 1 License: open Packager: Danny Backx <dan...@us...> Group: Development/Tools Prefixes: /usr/ppc # Source: http://sourceforge.net/project/showfiles.php?group_id=173455 -Source: /tmp/cegcc-src-0.09.tar.gz +Source: /tmp/cegcc-src-0.10.tar.gz # BuildRoot: /tmp/cegcc %description @@ -27,7 +27,7 @@ # RPM_ARCH=i386 # %prep -%setup -n cegcc-0.09 +%setup -n cegcc-0.10 echo script @@ -50,8 +50,15 @@ /usr/ppc/lib /usr/ppc/libexec /usr/ppc/share +/usr/ppc/COPYING +/usr/ppc/COPYING.LIB +/usr/ppc/NEWS +/usr/ppc/README %changelog +* 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. Modified: trunk/cegcc/scripts/linux/install-docs.sh =================================================================== --- trunk/cegcc/scripts/linux/install-docs.sh 2006-11-01 10:28:00 UTC (rev 766) +++ trunk/cegcc/scripts/linux/install-docs.sh 2006-11-01 10:31:07 UTC (rev 767) @@ -17,6 +17,7 @@ cp website/*.html ${DOCDIR} || exit 1 cp website/images/*.png ${DOCDIR}/images || exit 1 cp src/gcc/COPYING ${PREFIX} || exit 1 +cp src/gcc/COPYING.LIB ${PREFIX} || exit 1 cp NEWS README ${PREFIX} || exit 1 # exit 0 Modified: trunk/cegcc/scripts/linux/rpm-build.sh =================================================================== --- trunk/cegcc/scripts/linux/rpm-build.sh 2006-11-01 10:28:00 UTC (rev 766) +++ trunk/cegcc/scripts/linux/rpm-build.sh 2006-11-01 10:31:07 UTC (rev 767) @@ -54,7 +54,8 @@ for TGT_ARCH in arm-wince-cegcc arm-wince-mingw32ce # arm-wince-pe do export TGT_ARCH -# + echo "Running build-arch.sh with TGT_ARCH = " $TGT_ARCH + # sh $SCRIPTDIR/build-binutils.sh || exit 1 sh $SCRIPTDIR/install-binutils.sh || exit 1 # @@ -68,19 +69,24 @@ sh $SCRIPTDIR/build-gcc.sh || exit 1 sh $SCRIPTDIR/install-gcc.sh || exit 1 # - sh $SCRIPTDIR/install-mingw-crt.sh + sh $SCRIPTDIR/install-mingw-crt.sh || exit 1 + sh $SCRIPTDIR/build-libs.sh || exit 1 + sh $SCRIPTDIR/install-libs.sh || exit 1 # - sh $SCRIPTDIR/build-newlib.sh || exit 1 - sh $SCRIPTDIR/install-newlib.sh || exit 1 + if [ $TGT_ARCH = arm-wince-mingw32ce ]; then + sh $SCRIPTDIR/build-mingw.sh || exit 1 + sh $SCRIPTDIR/install-mingw.sh || exit 1 + else + sh $SCRIPTDIR/build-newlib.sh || exit 1 + sh $SCRIPTDIR/install-newlib.sh || exit 1 + fi # # Some of the stuff here applies to both targets # - sh $SCRIPTDIR/build-libs.sh || exit 1 - sh $SCRIPTDIR/install-libs.sh || exit 1 sh $SCRIPTDIR/build-dll.sh || exit 1 sh $SCRIPTDIR/install-dll.sh || exit 1 # - # Build the compiler better (not needed for mingw?). + # Build the compiler better. # sh $SCRIPTDIR/build-gpp.sh || exit 1 sh $SCRIPTDIR/install-gpp.sh || exit 1 @@ -99,7 +105,11 @@ sh $SCRIPTDIR/install-gdb.sh || exit 1 sh $SCRIPTDIR/build-stub.sh || exit 1 sh $SCRIPTDIR/install-stub.sh || exit 1 -# + # + if [ $TGT_ARCH = arm-wince-cegcc ]; then + sh $SCRIPTDIR/build-mingw.sh && sh $SCRIPTDIR/install-mingw.sh + fi + # done # sh $SCRIPTDIR/install-docs.sh || exit 1 Modified: trunk/cegcc/scripts/linux/rpm-create-source.sh =================================================================== --- trunk/cegcc/scripts/linux/rpm-create-source.sh 2006-11-01 10:28:00 UTC (rev 766) +++ trunk/cegcc/scripts/linux/rpm-create-source.sh 2006-11-01 10:31:07 UTC (rev 767) @@ -27,7 +27,8 @@ ln -s . cegcc-$CEGCC_RELEASE tar --exclude-from=/tmp/exclude-$$ \ -cz -f /tmp/cegcc-src-$CEGCC_RELEASE.tar.gz \ - cegcc-$CEGCC_RELEASE/NEWS cegcc-$CEGCC_RELEASE/scripts cegcc-$CEGCC_RELEASE/docs \ + cegcc-$CEGCC_RELEASE/NEWS cegcc-$CEGCC_RELEASE/README \ + cegcc-$CEGCC_RELEASE/scripts cegcc-$CEGCC_RELEASE/docs \ cegcc-$CEGCC_RELEASE/website cegcc-$CEGCC_RELEASE/test cegcc-$CEGCC_RELEASE/src rm cegcc-$CEGCC_RELEASE # Modified: trunk/cegcc/scripts/linux/settings.sh =================================================================== --- trunk/cegcc/scripts/linux/settings.sh 2006-11-01 10:28:00 UTC (rev 766) +++ trunk/cegcc/scripts/linux/settings.sh 2006-11-01 10:31:07 UTC (rev 767) @@ -54,7 +54,7 @@ # # The name of this release # -CEGCC_RELEASE=0.09 +CEGCC_RELEASE=0.10 export CEGCC_RELEASE # # The debugging stub This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2006-11-01 10:28:40
|
Revision: 766 http://svn.sourceforge.net/cegcc/?rev=766&view=rev Author: dannybackx Date: 2006-11-01 02:28:00 -0800 (Wed, 01 Nov 2006) Log Message: ----------- Add defines as Nuno indicated (see lstrcpy). Modified Paths: -------------- trunk/cegcc/src/w32api/include/winbase.h This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2006-11-01 10:28:20
|
Revision: 766 http://svn.sourceforge.net/cegcc/?rev=766&view=rev Author: dannybackx Date: 2006-11-01 02:28:00 -0800 (Wed, 01 Nov 2006) Log Message: ----------- Add defines as Nuno indicated (see lstrcpy). Modified Paths: -------------- trunk/cegcc/src/w32api/include/winbase.h Modified: trunk/cegcc/src/w32api/include/winbase.h =================================================================== --- trunk/cegcc/src/w32api/include/winbase.h 2006-11-01 10:25:13 UTC (rev 765) +++ trunk/cegcc/src/w32api/include/winbase.h 2006-11-01 10:28:00 UTC (rev 766) @@ -2442,6 +2442,11 @@ #ifdef _WIN32_WCE #include <kfuncs.h> + +#define lstrcpyW wscpy +#define lstrcatW wcscat +#define lstrlenW wcslen + #endif #ifdef __cplusplus This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2006-11-01 10:25:38
|
Revision: 765 http://svn.sourceforge.net/cegcc/?rev=765&view=rev Author: dannybackx Date: 2006-11-01 02:25:13 -0800 (Wed, 01 Nov 2006) Log Message: ----------- Add a small README file. Added Paths: ----------- trunk/cegcc/README This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2006-11-01 10:25:34
|
Revision: 765 http://svn.sourceforge.net/cegcc/?rev=765&view=rev Author: dannybackx Date: 2006-11-01 02:25:13 -0800 (Wed, 01 Nov 2006) Log Message: ----------- Add a small README file. Added Paths: ----------- trunk/cegcc/README Added: trunk/cegcc/README =================================================================== --- trunk/cegcc/README (rev 0) +++ trunk/cegcc/README 2006-11-01 10:25:13 UTC (rev 765) @@ -0,0 +1,14 @@ +CeGCC - cross-development tools for Windows CE (PocketPC). + +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. +Our intended development platforms are GNU/Linux and Cygwin. + +This project is free software. See the files COPYING and COPYING.LIB for +the GPL and LGPL licenses that cover much - but not all! - of this software. + +More information can be found in the docs subdirectory of the distribution, +and on our website : + http://cegcc.sourceforge.net +or our project page : + http://sourceforge.net/projects/cegcc Property changes on: trunk/cegcc/README ___________________________________________________________________ Name: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2006-10-31 22:08:14
|
Revision: 764 http://svn.sourceforge.net/cegcc/?rev=764&view=rev Author: pedroalves Date: 2006-10-31 14:08:05 -0800 (Tue, 31 Oct 2006) Log Message: ----------- Minor cleanup. Modified Paths: -------------- trunk/cegcc/src/gcc/gcc/config/arm/arm-protos.h Modified: trunk/cegcc/src/gcc/gcc/config/arm/arm-protos.h =================================================================== --- trunk/cegcc/src/gcc/gcc/config/arm/arm-protos.h 2006-10-31 15:26:46 UTC (rev 763) +++ trunk/cegcc/src/gcc/gcc/config/arm/arm-protos.h 2006-10-31 22:08:05 UTC (rev 764) @@ -40,7 +40,7 @@ unsigned int); extern unsigned int arm_dbx_register_number (unsigned int); extern void arm_output_fn_unwind (FILE *, bool); -extern void arm_file_end (void);; +extern void arm_file_end (void); #ifdef TREE_CODE extern int arm_return_in_memory (tree); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2006-10-31 22:08:14
|
Revision: 764 http://svn.sourceforge.net/cegcc/?rev=764&view=rev Author: pedroalves Date: 2006-10-31 14:08:05 -0800 (Tue, 31 Oct 2006) Log Message: ----------- Minor cleanup. Modified Paths: -------------- trunk/cegcc/src/gcc/gcc/config/arm/arm-protos.h This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2006-10-31 15:26:55
|
Revision: 763 http://svn.sourceforge.net/cegcc/?rev=763&view=rev Author: pedroalves Date: 2006-10-31 07:26:46 -0800 (Tue, 31 Oct 2006) Log Message: ----------- * pe-dll.c (make_singleton_name_thunk): Re-add the NULL terminator. Modified Paths: -------------- trunk/cegcc/src/binutils/ld/pe-dll.c Modified: trunk/cegcc/src/binutils/ld/pe-dll.c =================================================================== --- trunk/cegcc/src/binutils/ld/pe-dll.c 2006-10-31 14:20:20 UTC (rev 762) +++ trunk/cegcc/src/binutils/ld/pe-dll.c 2006-10-31 15:26:46 UTC (rev 763) @@ -2081,16 +2081,17 @@ quick_symbol (abfd, U ("_nm_thnk_"), import, "", id4, BSF_GLOBAL, 0); quick_symbol (abfd, U ("_nm_"), import, "", UNDSEC, BSF_GLOBAL, 0); - bfd_set_section_size (abfd, id4, PE_IDATA4_SIZE); - d4 = xmalloc (PE_IDATA4_SIZE); + /* We need space for the real thunk and for the null terminator. */ + bfd_set_section_size (abfd, id4, PE_IDATA4_SIZE * 2); + d4 = xmalloc (PE_IDATA4_SIZE * 2); id4->contents = d4; - memset (d4, 0, PE_IDATA4_SIZE); + memset (d4, 0, PE_IDATA4_SIZE * 2); quick_reloc (abfd, 0, BFD_RELOC_RVA, 2); save_relocs (id4); bfd_set_symtab (abfd, symtab, symptr); - bfd_set_section_contents (abfd, id4, d4, 0, PE_IDATA4_SIZE); + bfd_set_section_contents (abfd, id4, d4, 0, PE_IDATA4_SIZE * 2); bfd_make_readable (abfd); return abfd; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2006-10-31 15:26:55
|
Revision: 763 http://svn.sourceforge.net/cegcc/?rev=763&view=rev Author: pedroalves Date: 2006-10-31 07:26:46 -0800 (Tue, 31 Oct 2006) Log Message: ----------- * pe-dll.c (make_singleton_name_thunk): Re-add the NULL terminator. Modified Paths: -------------- trunk/cegcc/src/binutils/ld/pe-dll.c This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2006-10-31 14:20:48
|
Revision: 762 http://svn.sourceforge.net/cegcc/?rev=762&view=rev Author: pedroalves Date: 2006-10-31 06:20:20 -0800 (Tue, 31 Oct 2006) Log Message: ----------- Applying some binutils pending patches: bfd/ChangeLog 2006-10-21 Pedro Alves <ped...@po...> * pe-arm-wince.c (LOCAL_LABEL_PREFIX): Define as ".". * pei-arm-wince.c (LOCAL_LABEL_PREFIX): Likewise. * coff-arm.c (LOCAL_LABEL_PREFIX): Only define if not defined before. gas/ChangeLog 2006-10-22 Pedro Alves <ped...@po...> * config/tc-arm.c (arm_fix_adjustable) [OBJ_COFF]: Delete. (arm_fix_adjustable) [OBJ_ELF]: Use it on coff targets too. Modified Paths: -------------- trunk/cegcc/src/binutils/bfd/coff-arm.c trunk/cegcc/src/binutils/bfd/pe-arm-wince.c trunk/cegcc/src/binutils/bfd/pei-arm-wince.c trunk/cegcc/src/binutils/gas/config/tc-arm.c This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2006-10-31 14:20:47
|
Revision: 762 http://svn.sourceforge.net/cegcc/?rev=762&view=rev Author: pedroalves Date: 2006-10-31 06:20:20 -0800 (Tue, 31 Oct 2006) Log Message: ----------- Applying some binutils pending patches: bfd/ChangeLog 2006-10-21 Pedro Alves <ped...@po...> * pe-arm-wince.c (LOCAL_LABEL_PREFIX): Define as ".". * pei-arm-wince.c (LOCAL_LABEL_PREFIX): Likewise. * coff-arm.c (LOCAL_LABEL_PREFIX): Only define if not defined before. gas/ChangeLog 2006-10-22 Pedro Alves <ped...@po...> * config/tc-arm.c (arm_fix_adjustable) [OBJ_COFF]: Delete. (arm_fix_adjustable) [OBJ_ELF]: Use it on coff targets too. Modified Paths: -------------- trunk/cegcc/src/binutils/bfd/coff-arm.c trunk/cegcc/src/binutils/bfd/pe-arm-wince.c trunk/cegcc/src/binutils/bfd/pei-arm-wince.c trunk/cegcc/src/binutils/gas/config/tc-arm.c Modified: trunk/cegcc/src/binutils/bfd/coff-arm.c =================================================================== --- trunk/cegcc/src/binutils/bfd/coff-arm.c 2006-10-31 14:06:23 UTC (rev 761) +++ trunk/cegcc/src/binutils/bfd/coff-arm.c 2006-10-31 14:20:20 UTC (rev 762) @@ -2424,7 +2424,9 @@ /* Note: the definitions here of LOCAL_LABEL_PREFIX and USER_LABEL_PREIFX *must* match the definitions in gcc/config/arm/{coff|semi|aout}.h. */ +#ifndef LOCAL_LABEL_PREFIX #define LOCAL_LABEL_PREFIX "" +#endif #ifndef USER_LABEL_PREFIX #define USER_LABEL_PREFIX "_" #endif Modified: trunk/cegcc/src/binutils/bfd/pe-arm-wince.c =================================================================== --- trunk/cegcc/src/binutils/bfd/pe-arm-wince.c 2006-10-31 14:06:23 UTC (rev 761) +++ trunk/cegcc/src/binutils/bfd/pe-arm-wince.c 2006-10-31 14:20:20 UTC (rev 762) @@ -32,4 +32,6 @@ #define bfd_arm_process_before_allocation \ bfd_arm_wince_pe_process_before_allocation +#define LOCAL_LABEL_PREFIX "." + #include "pe-arm.c" Modified: trunk/cegcc/src/binutils/bfd/pei-arm-wince.c =================================================================== --- trunk/cegcc/src/binutils/bfd/pei-arm-wince.c 2006-10-31 14:06:23 UTC (rev 761) +++ trunk/cegcc/src/binutils/bfd/pei-arm-wince.c 2006-10-31 14:20:20 UTC (rev 762) @@ -25,4 +25,6 @@ #define TARGET_BIG_SYM arm_wince_pei_big_vec #define TARGET_BIG_NAME "pei-arm-wince-big" +#define LOCAL_LABEL_PREFIX "." + #include "pei-arm.c" Modified: trunk/cegcc/src/binutils/gas/config/tc-arm.c =================================================================== --- trunk/cegcc/src/binutils/gas/config/tc-arm.c 2006-10-31 14:06:23 UTC (rev 761) +++ trunk/cegcc/src/binutils/gas/config/tc-arm.c 2006-10-31 14:20:20 UTC (rev 762) @@ -18899,36 +18899,7 @@ return generic_force_reloc (fixp); } -#ifdef OBJ_COFF -bfd_boolean -arm_fix_adjustable (fixS * fixP) -{ - /* This is a little hack to help the gas/arm/adrl.s test. It prevents - local labels from being added to the output symbol table when they - are used with the ADRL pseudo op. The ADRL relocation should always - be resolved before the binbary is emitted, so it is safe to say that - it is adjustable. */ - if (fixP->fx_r_type == BFD_RELOC_ARM_ADRL_IMMEDIATE) - return 1; - - /* This is a hack for the gas/all/redef2.s test. This test causes symbols - to be cloned, and without this test relocs would still be generated - against the original, pre-cloned symbol. Such symbols would not appear - in the symbol table however, and so a valid reloc could not be - generated. So check to see if the fixup is against a symbol which has - been removed from the symbol chain, and if it is, then allow it to be - adjusted into a reloc against a section symbol. */ - if (fixP->fx_addsy != NULL - && ! S_IS_LOCAL (fixP->fx_addsy) - && symbol_next (fixP->fx_addsy) == NULL - && symbol_next (fixP->fx_addsy) == symbol_previous (fixP->fx_addsy)) - return 1; - - return 0; -} -#endif - -#ifdef OBJ_ELF +#if defined (OBJ_ELF) || defined (OBJ_COFF) /* Relocations against function names must be left unadjusted, so that the linker can use this information to generate interworking stubs. The MIPS version of this function @@ -18981,7 +18952,10 @@ return 1; } +#endif /* defined (OBJ_ELF) || defined (OBJ_COFF) */ +#ifdef OBJ_ELF + const char * elf32_arm_target_format (void) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2006-10-31 14:06:36
|
Revision: 761 http://svn.sourceforge.net/cegcc/?rev=761&view=rev Author: pedroalves Date: 2006-10-31 06:06:23 -0800 (Tue, 31 Oct 2006) Log Message: ----------- * config/te-wince-pe-h (CPU_DEFAULT): Define to ARM_ARCH_V4. (FPU_DEFAULT) Default to FPU_ARCH_VFP. Modified Paths: -------------- trunk/cegcc/src/binutils/gas/config/te-wince-pe.h Added Paths: ----------- trunk/cegcc/src/binutils/gas/ChangeLog.ce This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2006-10-31 14:06:36
|
Revision: 761 http://svn.sourceforge.net/cegcc/?rev=761&view=rev Author: pedroalves Date: 2006-10-31 06:06:23 -0800 (Tue, 31 Oct 2006) Log Message: ----------- * config/te-wince-pe-h (CPU_DEFAULT): Define to ARM_ARCH_V4. (FPU_DEFAULT) Default to FPU_ARCH_VFP. Modified Paths: -------------- trunk/cegcc/src/binutils/gas/config/te-wince-pe.h Added Paths: ----------- trunk/cegcc/src/binutils/gas/ChangeLog.ce Added: trunk/cegcc/src/binutils/gas/ChangeLog.ce =================================================================== --- trunk/cegcc/src/binutils/gas/ChangeLog.ce (rev 0) +++ trunk/cegcc/src/binutils/gas/ChangeLog.ce 2006-10-31 14:06:23 UTC (rev 761) @@ -0,0 +1,4 @@ +2006-10-31 Pedro Alves <ped...@po...> + + * config/te-wince-pe-h (CPU_DEFAULT): Define to ARM_ARCH_V4. + (FPU_DEFAULT) Default to FPU_ARCH_VFP. Modified: trunk/cegcc/src/binutils/gas/config/te-wince-pe.h =================================================================== --- trunk/cegcc/src/binutils/gas/config/te-wince-pe.h 2006-10-30 23:51:18 UTC (rev 760) +++ trunk/cegcc/src/binutils/gas/config/te-wince-pe.h 2006-10-31 14:06:23 UTC (rev 761) @@ -1,2 +1,5 @@ +#define CPU_DEFAULT ARM_ARCH_V4 +#define FPU_DEFAULT FPU_ARCH_VFP + #define TE_WINCE #include "te-pe.h" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2006-10-30 23:53:57
|
Revision: 760 http://svn.sourceforge.net/cegcc/?rev=760&view=rev Author: pedroalves Date: 2006-10-30 15:51:18 -0800 (Mon, 30 Oct 2006) Log Message: ----------- * target-def.h (TARGET_ATTRIBUTE_TABLE): Only define if not defined before. * config/arm/arm.c (arm_file_end): Give it external linkage. (arm_handle_struct_attribute): New. (arm_ms_bitfield_layout_p): New. (TARGET_ATTRIBUTE_TABLE, TARGET_ASM_FILE_END, TARGET_ENCODE_SECTION_INFO, TARGET_STRIP_NAME_ENCODING): Move declarations to config/arm/arm.h. (TARGET_MS_BITFIELD_LAYOUT_P): Define to arm_ms_bitfield_layout_p. (arm_return_in_memory): Replace #ifdef'ing on ARM_WINCE with TARGET_RETURN_AGGREGATES_IN_MEMORY. (arm_attribute_table): Add shared, ms_struct, gcc_struct attributes. Allow subtarget to add attributes using SUBTARGET_ATTRIBUTE_TABLE. (arm_elf_asm_constructor): Only compile on OBJECT_FORMAT_ELF. (thumb_output_function_prologue): Call arm_pe_strip_name_encoding instead of arm_strip_name_encoding. (arm_handle_struct_attribute): New function. (arm_ms_bitfield_layout_p): New function. * config/arm/arm.h (TARGET_ASM_FILE_END, TARGET_ATTRIBUTE_TABLE, TARGET_ENCODE_SECTION_INFO, TARGET_STRIP_NAME_ENCODING): Define. * config/arm/t-wince-cegcc: Add cegcc1.o rule. (TARGET_LIBGCC2_CFLAGS): Add -mwin32. * config/arm/t-mingw32 (SYSTEM_INCLUDE_DIR): Delete. (NATIVE_SYSTEM_HEADER_DIR): Likewise. * config/arm/arm-protos.h (arm_file_end, arm_pe_asm_named_section, arm_pe_section_type_flags, arm_pe_strip_name_encoding, arm_pe_output_labelref, arm_pe_handle_shared_attribute): Declare. * config/arm/wince-pe.h: (TARGET_VERSION): Set to "(arm Windows CE/Native SDK)". (MULTILIB_DEFAULTS): Remove -mfpu=vfp. (SUBTARGET_CPU_DEFAULT): Default to TARGET_CPU_arm8 (armv4). (CPP_SPEC): Remove cegcc specifics. (ASM_SPEC): Don't pass -cpu=iwmmxt to assembler when -mcpu=xscale is used. (SUBTARGET_EXTRA_SPECS, SUBTARGET_ASM_FLOAT_SPEC): Remove. (TARGET_OS_CPP_BUILTINS): Add _stdcall, _fastcall and _cdecl. (SUBTARGET_CPP_SPEC, HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Delete. (STARTFILE_SPEC): Remove cegcc specifics. (LIBGCC_SPEC): Likewise. (LIB_SPEC): Likewise. (COMMON_ASM_OP, ASM_OUTPUT_COMMON, ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME, ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL, ASM_OUTPUT_ALIGNED_BSS, TARGET_ASM_FILE_END, SUPPORTS_ONE_ONLY, MULTIPLE_SYMBOL_SPACES): Delete. (ARM_MCOUNT_NAME): Define to _mcount to avoid conflicts. (CHECK_STACK_LIMIT): Delete. (TARGET_DEFAULT): Match Windows CE ABI with MASK_MS_BITFIELD_LAYOUT and MASK_RETURN_AGGREGATES_IN_MEMORY. (TARGET_SUBTARGET_DEFAULT): Delete. (BIGGEST_FIELD_ALIGNMENT): Delete. (SET_ASM_OP): Delete. (DEFAULT_STRUCTURE_SIZE_BOUNDARY): Define to 8 as WinCE's ABI requires. (ASM_OUTPUT_DEF_FROM_DECLS, TARGET_USE_JCR_SECTION, TARGET_USE_LOCAL_THUNK_ALIAS_P, SUBTARGET_ATTRIBUTE_TABLE): Delete. * config/arm/mingw32.h (STANDARD_INCLUDE_DIR, STANDARD_INCLUDE_COMPONENT): Delete. * config/arm/arm.opt: New option -mreturn-aggregates-in-memory. * config/arm/pe.opt: New option -mms-bitfields. * config/arm/pe.c (arm_pe_handle_shared_attribute): New. (arm_pe_strip_name_encoding): New. (arm_pe_output_labelref): Call arm_pe_strip_name_encoding instead of arm_strip_name_encoding. (arm_pe_unique_section): Likewise. (arm_pe_section_type_flags): New. (arm_pe_asm_named_section ): New. (arm_pe_file_end): Call arm_file_end. * config/arm/pe.h (HANDLE_SYSV_PRAGMA): New. (HANDLE_PRAGMA_PACK_PUSH_POP): New. (SUBTARGET_OVERRIDE_OPTIONS): New. (TARGET_ASM_NAMED_SECTION): Set to arm_pe_asm_named_section specialized version. (TARGET_SECTION_TYPE_FLAGS): New. (ASM_DECLARE_FUNCTION_NAME): Don't output -export to .drectve directly. Use arm_pe_record_exported_symbol instead. (TARGET_ASM_FILE_END): Set to arm_pe_file_end. (TARGET_ENCODE_SECTION_INFO): Set to arm_pe_encode_section_info. (TARGET_STRIP_NAME_ENCODING): Set to arm_pe_strip_name_encoding. (COMMON_ASM_OP): New. (ASM_OUTPUT_COMMON): Don't output -export to .drectve directly. Use arm_pe_record_exported_symbol instead. (ASM_DECLARE_OBJECT_NAME): Likewise. (ASM_OUTPUT_EXTERNAL): New. (ASM_OUTPUT_EXTERNAL_LIBCALL): New. (PROFILE_HOOK): New. (ASM_OUTPUT_DEF_FROM_DECLS): New. (SUPPORTS_ONE_ONLY). (SUBTARGET_ATTRIBUTE_TABLE): New. (TARGET_USE_LOCAL_THUNK_ALIAS_P): New. (TARGET_USE_JCR_SECTION): New. (SUBTARGET_ENCODE_SECTION_INFO): New. (TARGET_STRIP_NAME_ENCODING): New. * config/arm/wince-cegcc.h (SUBTARGET_EXTRA_SPECS, EXTRA_OS_CPP_BUILTINS, TARGET_OS_CPP_BUILTINS, SUBTARGET_CPP_SPEC): Delete. * config/arm/t-wince-pe (pe.o): Add expr.h to dependencies. (cegcc1.o): Delete build rule. (MULTILIB_OPTIONS): Remove -mfpu=vfp. (TARGET_LIBGCC2_CFLAGS): Remove unneeded options. Modified Paths: -------------- trunk/cegcc/src/gcc/gcc/ChangeLog.ce trunk/cegcc/src/gcc/gcc/config/arm/arm-protos.h trunk/cegcc/src/gcc/gcc/config/arm/arm.c trunk/cegcc/src/gcc/gcc/config/arm/arm.h trunk/cegcc/src/gcc/gcc/config/arm/arm.opt trunk/cegcc/src/gcc/gcc/config/arm/mingw32.h trunk/cegcc/src/gcc/gcc/config/arm/pe.c trunk/cegcc/src/gcc/gcc/config/arm/pe.h trunk/cegcc/src/gcc/gcc/config/arm/pe.opt trunk/cegcc/src/gcc/gcc/config/arm/t-mingw32 trunk/cegcc/src/gcc/gcc/config/arm/t-wince-cegcc trunk/cegcc/src/gcc/gcc/config/arm/t-wince-pe trunk/cegcc/src/gcc/gcc/config/arm/wince-cegcc.h trunk/cegcc/src/gcc/gcc/config/arm/wince-pe.h trunk/cegcc/src/gcc/gcc/target-def.h Modified: trunk/cegcc/src/gcc/gcc/ChangeLog.ce =================================================================== --- trunk/cegcc/src/gcc/gcc/ChangeLog.ce 2006-10-30 21:55:45 UTC (rev 759) +++ trunk/cegcc/src/gcc/gcc/ChangeLog.ce 2006-10-30 23:51:18 UTC (rev 760) @@ -1,16 +1,132 @@ 2006-10-30 Pedro Alves <ped...@po...> - * config/arm/pe-cxx.c: Fix indenting to match the original config/i386/winnt-cxx.c. + * target-def.h (TARGET_ATTRIBUTE_TABLE): Only define if not + defined before. + * config/arm/arm.c (arm_file_end): Give it external linkage. + (arm_handle_struct_attribute): New. + (arm_ms_bitfield_layout_p): New. + (TARGET_ATTRIBUTE_TABLE, TARGET_ASM_FILE_END, + TARGET_ENCODE_SECTION_INFO, TARGET_STRIP_NAME_ENCODING): Move + declarations to config/arm/arm.h. + (TARGET_MS_BITFIELD_LAYOUT_P): Define to + arm_ms_bitfield_layout_p. + (arm_return_in_memory): Replace #ifdef'ing on ARM_WINCE with + TARGET_RETURN_AGGREGATES_IN_MEMORY. + (arm_attribute_table): Add shared, ms_struct, gcc_struct + attributes. + Allow subtarget to add attributes using + SUBTARGET_ATTRIBUTE_TABLE. + (arm_elf_asm_constructor): Only compile on OBJECT_FORMAT_ELF. + (thumb_output_function_prologue): Call arm_pe_strip_name_encoding + instead of arm_strip_name_encoding. + (arm_handle_struct_attribute): New function. + (arm_ms_bitfield_layout_p): New function. + * config/arm/arm.h (TARGET_ASM_FILE_END, TARGET_ATTRIBUTE_TABLE, + TARGET_ENCODE_SECTION_INFO, TARGET_STRIP_NAME_ENCODING): Define. + * config/arm/t-wince-cegcc: Add cegcc1.o rule. + (TARGET_LIBGCC2_CFLAGS): Add -mwin32. + * config/arm/t-mingw32 (SYSTEM_INCLUDE_DIR): Delete. + (NATIVE_SYSTEM_HEADER_DIR): Likewise. + * config/arm/arm-protos.h (arm_file_end, + arm_pe_asm_named_section, arm_pe_section_type_flags, + arm_pe_strip_name_encoding, arm_pe_output_labelref, + arm_pe_handle_shared_attribute): Declare. + * config/arm/wince-pe.h: + (TARGET_VERSION): Set to "(arm Windows CE/Native SDK)". + (MULTILIB_DEFAULTS): Remove -mfpu=vfp. + (SUBTARGET_CPU_DEFAULT): Default to TARGET_CPU_arm8 (armv4). + (CPP_SPEC): Remove cegcc specifics. + (ASM_SPEC): Don't pass -cpu=iwmmxt to assembler when -mcpu=xscale + is used. + (SUBTARGET_EXTRA_SPECS, SUBTARGET_ASM_FLOAT_SPEC): Remove. + (TARGET_OS_CPP_BUILTINS): Add _stdcall, _fastcall and _cdecl. + (SUBTARGET_CPP_SPEC, HANDLE_SYSV_PRAGMA, + HANDLE_PRAGMA_PACK_PUSH_POP): Delete. + (STARTFILE_SPEC): Remove cegcc specifics. + (LIBGCC_SPEC): Likewise. + (LIB_SPEC): Likewise. + (COMMON_ASM_OP, ASM_OUTPUT_COMMON, ASM_DECLARE_OBJECT_NAME, + ASM_DECLARE_FUNCTION_NAME, ASM_OUTPUT_EXTERNAL, + ASM_OUTPUT_EXTERNAL_LIBCALL, ASM_OUTPUT_ALIGNED_BSS, + TARGET_ASM_FILE_END, SUPPORTS_ONE_ONLY, MULTIPLE_SYMBOL_SPACES): + Delete. + (ARM_MCOUNT_NAME): Define to _mcount to avoid conflicts. + (CHECK_STACK_LIMIT): Delete. + (TARGET_DEFAULT): Match Windows CE ABI with + MASK_MS_BITFIELD_LAYOUT and MASK_RETURN_AGGREGATES_IN_MEMORY. + (TARGET_SUBTARGET_DEFAULT): Delete. + (BIGGEST_FIELD_ALIGNMENT): Delete. + (SET_ASM_OP): Delete. + (DEFAULT_STRUCTURE_SIZE_BOUNDARY): Define to 8 as WinCE's ABI + requires. + (ASM_OUTPUT_DEF_FROM_DECLS, TARGET_USE_JCR_SECTION, + TARGET_USE_LOCAL_THUNK_ALIAS_P, SUBTARGET_ATTRIBUTE_TABLE): + Delete. + * config/arm/mingw32.h (STANDARD_INCLUDE_DIR, + STANDARD_INCLUDE_COMPONENT): Delete. + * config/arm/arm.opt: New option -mreturn-aggregates-in-memory. + * config/arm/pe.opt: New option -mms-bitfields. + * config/arm/pe.c (arm_pe_handle_shared_attribute): New. + (arm_pe_strip_name_encoding): New. + (arm_pe_output_labelref): Call arm_pe_strip_name_encoding instead + of arm_strip_name_encoding. + (arm_pe_unique_section): Likewise. + (arm_pe_section_type_flags): New. + (arm_pe_asm_named_section ): New. + (arm_pe_file_end): Call arm_file_end. + * config/arm/pe.h (HANDLE_SYSV_PRAGMA): New. + (HANDLE_PRAGMA_PACK_PUSH_POP): New. + (SUBTARGET_OVERRIDE_OPTIONS): New. + (TARGET_ASM_NAMED_SECTION): Set to arm_pe_asm_named_section + specialized version. + (TARGET_SECTION_TYPE_FLAGS): New. + (ASM_DECLARE_FUNCTION_NAME): Don't output -export to .drectve + directly. + Use arm_pe_record_exported_symbol instead. + (TARGET_ASM_FILE_END): Set to arm_pe_file_end. + (TARGET_ENCODE_SECTION_INFO): Set to arm_pe_encode_section_info. + (TARGET_STRIP_NAME_ENCODING): Set to arm_pe_strip_name_encoding. + (COMMON_ASM_OP): New. + (ASM_OUTPUT_COMMON): Don't output -export to .drectve directly. + Use arm_pe_record_exported_symbol instead. + (ASM_DECLARE_OBJECT_NAME): Likewise. + (ASM_OUTPUT_EXTERNAL): New. + (ASM_OUTPUT_EXTERNAL_LIBCALL): New. + (PROFILE_HOOK): New. + (ASM_OUTPUT_DEF_FROM_DECLS): New. + (SUPPORTS_ONE_ONLY). + (SUBTARGET_ATTRIBUTE_TABLE): New. + (TARGET_USE_LOCAL_THUNK_ALIAS_P): New. + (TARGET_USE_JCR_SECTION): New. + (SUBTARGET_ENCODE_SECTION_INFO): New. + (TARGET_STRIP_NAME_ENCODING): New. + * config/arm/wince-cegcc.h (SUBTARGET_EXTRA_SPECS, + EXTRA_OS_CPP_BUILTINS, TARGET_OS_CPP_BUILTINS, + SUBTARGET_CPP_SPEC): Delete. + * config/arm/t-wince-pe (pe.o): Add expr.h to dependencies. + (cegcc1.o): Delete build rule. + (MULTILIB_OPTIONS): Remove -mfpu=vfp. + (TARGET_LIBGCC2_CFLAGS): Remove unneeded options. + +2006-10-30 Pedro Alves <ped...@po...> + + * config/arm/pe-cxx.c: Fix indenting to match the original + config/i386/winnt-cxx.c. + 2006-10-17 Pedro Alves <ped...@po...> + * config/arm/wince-cegcc.h (STARTFILE_SPEC) : Add gcrt3.o instead of gcrt2.o. * config/arm/mingw32.h: Likewise. 2006-10-16 Danny Backx <dan...@us...> - * config/arm/wince-cegcc.h (LIB_SPEC) : Link -lgmon when called with -pg. + + * config/arm/wince-cegcc.h (LIB_SPEC) : Link -lgmon when called + with -pg. (STARTFILE_SPEC): Add gcrt2.o when called with -pg. 2006-10-12 Danny Backx <dan...@us...> + * config/arm/wince-cegcc.h (mno-cegcc): Remove option. Use the arm-wince-mingw32ce target instead. @@ -23,6 +139,6 @@ * cegcc-stubs.c: Likewise. * config.gcc: Use the originals instead of the new copies for the arm*-wince-cegcc case. - * config/arm/t-wince-cegcc: Make it empty, we now inherit the generic - t-wince-pe. + * config/arm/t-wince-cegcc: Make it empty, we now inherit the + generic t-wince-pe. * ChangeLog.ce: New file. Modified: trunk/cegcc/src/gcc/gcc/config/arm/arm-protos.h =================================================================== --- trunk/cegcc/src/gcc/gcc/config/arm/arm-protos.h 2006-10-30 21:55:45 UTC (rev 759) +++ trunk/cegcc/src/gcc/gcc/config/arm/arm-protos.h 2006-10-30 23:51:18 UTC (rev 760) @@ -35,12 +35,12 @@ extern void arm_asm_output_labelref (FILE *, const char *); extern unsigned long arm_current_func_type (void); extern HOST_WIDE_INT arm_compute_initial_elimination_offset (unsigned int, - unsigned int); + unsigned int); extern HOST_WIDE_INT thumb_compute_initial_elimination_offset (unsigned int, unsigned int); extern unsigned int arm_dbx_register_number (unsigned int); extern void arm_output_fn_unwind (FILE *, bool); - +extern void arm_file_end (void);; #ifdef TREE_CODE extern int arm_return_in_memory (tree); @@ -174,7 +174,10 @@ #endif /* Defined in pe.c. */ -extern void arm_pe_output_labelref (FILE *stream, const char *name); +extern void arm_pe_asm_named_section (const char *, unsigned int, tree); +extern unsigned int arm_pe_section_type_flags (tree, const char *, int); +extern const char *arm_pe_strip_name_encoding (const char *); +extern void arm_pe_output_labelref (FILE *, const char *); extern int arm_pe_dllexport_name_p (const char *); extern int arm_pe_dllimport_name_p (const char *); extern void arm_pe_record_external_function (tree, const char *); @@ -184,10 +187,8 @@ extern int arm_pe_dllexport_name_p (const char *); extern int arm_pe_dllimport_name_p (const char *); extern bool arm_pe_valid_dllimport_attribute_p (tree); -extern tree arm_pe_handle_selectany_attribute (tree *node, tree name, - tree args ATTRIBUTE_UNUSED, - int flags ATTRIBUTE_UNUSED, - bool *no_add_attrs); +extern tree arm_pe_handle_selectany_attribute (tree *, tree, tree, int, bool *); +extern tree arm_pe_handle_shared_attribute (tree *, tree, tree, int, bool *); /* In pe-cxx.c and pe-stubs.c */ extern void arm_pe_adjust_class_at_definition (tree); Modified: trunk/cegcc/src/gcc/gcc/config/arm/arm.c =================================================================== --- trunk/cegcc/src/gcc/gcc/config/arm/arm.c 2006-10-30 21:55:45 UTC (rev 759) +++ trunk/cegcc/src/gcc/gcc/config/arm/arm.c 2006-10-30 23:51:18 UTC (rev 760) @@ -152,8 +152,6 @@ static void arm_encode_section_info (tree, rtx, int); #endif -static void arm_file_end (void); - #ifdef AOF_ASSEMBLER static void aof_globalize_label (FILE *, const char *); static void aof_dump_imports (FILE *); @@ -190,6 +188,8 @@ static unsigned HOST_WIDE_INT arm_shift_truncation_mask (enum machine_mode); static bool arm_cannot_copy_insn_p (rtx); static bool arm_tls_symbol_p (rtx x); +static tree arm_handle_struct_attribute (tree *, tree, tree, int, bool *); +static bool arm_ms_bitfield_layout_p (tree record_type); /* Initialize the GCC target structure. */ @@ -198,12 +198,6 @@ #define TARGET_MERGE_DECL_ATTRIBUTES merge_dllimport_decl_attributes #endif -#undef TARGET_ATTRIBUTE_TABLE -#define TARGET_ATTRIBUTE_TABLE arm_attribute_table - -#undef TARGET_ASM_FILE_END -#define TARGET_ASM_FILE_END arm_file_end - #ifdef AOF_ASSEMBLER #undef TARGET_ASM_BYTE_OP #define TARGET_ASM_BYTE_OP "\tDCB\t" @@ -243,6 +237,7 @@ #undef TARGET_DEFAULT_TARGET_FLAGS #define TARGET_DEFAULT_TARGET_FLAGS (TARGET_DEFAULT | MASK_SCHED_PROLOG) + #undef TARGET_HANDLE_OPTION #define TARGET_HANDLE_OPTION arm_handle_option @@ -255,16 +250,6 @@ #undef TARGET_SCHED_ADJUST_COST #define TARGET_SCHED_ADJUST_COST arm_adjust_cost -#undef TARGET_ENCODE_SECTION_INFO -#ifdef ARM_PE -#define TARGET_ENCODE_SECTION_INFO arm_pe_encode_section_info -#else -#define TARGET_ENCODE_SECTION_INFO arm_encode_section_info -#endif - -#undef TARGET_STRIP_NAME_ENCODING -#define TARGET_STRIP_NAME_ENCODING arm_strip_name_encoding - #undef TARGET_ASM_INTERNAL_LABEL #define TARGET_ASM_INTERNAL_LABEL arm_internal_label @@ -375,6 +360,9 @@ #define TARGET_HAVE_TLS true #endif +#undef TARGET_MS_BITFIELD_LAYOUT_P +#define TARGET_MS_BITFIELD_LAYOUT_P arm_ms_bitfield_layout_p + #undef TARGET_CANNOT_FORCE_CONST_MEM #define TARGET_CANNOT_FORCE_CONST_MEM arm_tls_referenced_p @@ -2544,9 +2532,11 @@ if (TREE_CODE (type) == VECTOR_TYPE) return (size < 0 || size > (4 * UNITS_PER_WORD)); - /* For the arm-wince targets we choose to be compatible with Microsoft's - ARM and Thumb compilers, which always return aggregates in memory. */ -#ifndef ARM_WINCE + if (TARGET_RETURN_AGGREGATES_IN_MEMORY + && (TREE_CODE (type) == RECORD_TYPE + || TREE_CODE (type) == UNION_TYPE)) + return 1; + /* All structures/unions bigger than one word are returned in memory. Also catch the case where int_size_in_bytes returns -1. In this case the aggregate is either huge or of variable size, and in either case @@ -2623,7 +2613,6 @@ return 0; } -#endif /* not ARM_WINCE */ /* Return all other types in memory. */ return 1; @@ -2849,7 +2838,13 @@ { "dllimport", 0, 0, false, false, false, handle_dll_attribute }, { "dllexport", 0, 0, false, false, false, handle_dll_attribute }, { "notshared", 0, 0, false, true, false, arm_handle_notshared_attribute }, + { "shared", 0, 0, true, false, false, arm_pe_handle_shared_attribute }, #endif + { "ms_struct", 0, 0, false, false, false, arm_handle_struct_attribute }, + { "gcc_struct", 0, 0, false, false, false, arm_handle_struct_attribute }, +#ifdef SUBTARGET_ATTRIBUTE_TABLE + SUBTARGET_ATTRIBUTE_TABLE, +#endif { NULL, 0, 0, false, false, false, NULL } }; @@ -11302,7 +11297,7 @@ return default_assemble_integer (x, size, aligned_p); } - +#ifdef OBJECT_FORMAT_ELF /* Add a function to the list of static constructors. */ static void @@ -11322,6 +11317,8 @@ fputs ("(target1)\n", asm_out_file); } #endif + +#endif /* A finite state machine takes care of noticing whether or not instructions can be conditionally executed, and thus decrease execution time and code @@ -13850,7 +13847,7 @@ fprintf (f, "\t.code\t16\n"); #ifdef ARM_PE if (arm_pe_dllexport_name_p (name)) - name = arm_strip_name_encoding (name); + name = arm_pe_strip_name_encoding (name); #endif asm_fprintf (f, "\t.globl %s%U%s\n", STUB_NAME, name); fprintf (f, "\t.thumb_func\n"); @@ -14358,7 +14355,7 @@ asm_fprintf (stream, "%U%s", name); } -static void +void arm_file_end (void) { int regno; @@ -15487,4 +15484,49 @@ return FALSE; } +/* Handle a "ms_struct" or "gcc_struct" attribute; arguments as in + struct attribute_spec.handler. */ +static tree +arm_handle_struct_attribute (tree *node, tree name, + tree args ATTRIBUTE_UNUSED, + int flags ATTRIBUTE_UNUSED, bool *no_add_attrs) +{ + tree *type = NULL; + if (DECL_P (*node)) + { + if (TREE_CODE (*node) == TYPE_DECL) + type = &TREE_TYPE (*node); + } + else + type = node; + + if (!(type && (TREE_CODE (*type) == RECORD_TYPE + || TREE_CODE (*type) == UNION_TYPE))) + { + warning (OPT_Wattributes, "%qs attribute ignored", + IDENTIFIER_POINTER (name)); + *no_add_attrs = true; + } + + else if ((is_attribute_p ("ms_struct", name) + && lookup_attribute ("gcc_struct", TYPE_ATTRIBUTES (*type))) + || ((is_attribute_p ("gcc_struct", name) + && lookup_attribute ("ms_struct", TYPE_ATTRIBUTES (*type))))) + { + warning (OPT_Wattributes, "%qs incompatible attribute ignored", + IDENTIFIER_POINTER (name)); + *no_add_attrs = true; + } + + return NULL_TREE; +} + +static bool +arm_ms_bitfield_layout_p (tree record_type) +{ + return (TARGET_MS_BITFIELD_LAYOUT && + !lookup_attribute ("gcc_struct", TYPE_ATTRIBUTES (record_type))) + || lookup_attribute ("ms_struct", TYPE_ATTRIBUTES (record_type)); +} + #include "gt-arm.h" Modified: trunk/cegcc/src/gcc/gcc/config/arm/arm.h =================================================================== --- trunk/cegcc/src/gcc/gcc/config/arm/arm.h 2006-10-30 21:55:45 UTC (rev 759) +++ trunk/cegcc/src/gcc/gcc/config/arm/arm.h 2006-10-30 23:51:18 UTC (rev 760) @@ -2340,6 +2340,11 @@ } \ while (0) +#define TARGET_ASM_FILE_END arm_file_end +#define TARGET_ATTRIBUTE_TABLE arm_attribute_table +#define TARGET_ENCODE_SECTION_INFO arm_encode_section_info +#define TARGET_STRIP_NAME_ENCODING arm_strip_name_encoding + #ifdef HAVE_GAS_MAX_SKIP_P2ALIGN /* To support -falign-* switches we need to use .p2align so that alignment directives in code sections will be padded Modified: trunk/cegcc/src/gcc/gcc/config/arm/arm.opt =================================================================== --- trunk/cegcc/src/gcc/gcc/config/arm/arm.opt 2006-10-30 21:55:45 UTC (rev 759) +++ trunk/cegcc/src/gcc/gcc/config/arm/arm.opt 2006-10-30 23:51:18 UTC (rev 760) @@ -153,3 +153,7 @@ mwords-little-endian Target Report RejectNegative Mask(LITTLE_WORDS) Assume big endian bytes, little endian words + +mreturn-aggregates-in-memory +Target Report Mask(RETURN_AGGREGATES_IN_MEMORY) +Return aggregates in memory Modified: trunk/cegcc/src/gcc/gcc/config/arm/mingw32.h =================================================================== --- trunk/cegcc/src/gcc/gcc/config/arm/mingw32.h 2006-10-30 21:55:45 UTC (rev 759) +++ trunk/cegcc/src/gcc/gcc/config/arm/mingw32.h 2006-10-30 23:51:18 UTC (rev 760) @@ -36,13 +36,6 @@ } \ while (0) -/* Override the standard choice of /usr/include as the default prefix - to try when searching for header files. */ -#undef STANDARD_INCLUDE_DIR -#define STANDARD_INCLUDE_DIR "/mingw/include" -#undef STANDARD_INCLUDE_COMPONENT -#define STANDARD_INCLUDE_COMPONENT "MINGW" - #undef CPP_SPEC #define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{mthreads:-D_MT} \ %{!nostdinc: -idirafter ../include/w32api%s -idirafter ../../include/w32api%s }" Modified: trunk/cegcc/src/gcc/gcc/config/arm/pe.c =================================================================== --- trunk/cegcc/src/gcc/gcc/config/arm/pe.c 2006-10-30 21:55:45 UTC (rev 759) +++ trunk/cegcc/src/gcc/gcc/config/arm/pe.c 2006-10-30 23:51:18 UTC (rev 760) @@ -61,6 +61,23 @@ #define DLL_EXPORT_PREFIX "@e." #endif +/* Handle a "shared" attribute; + arguments as in struct attribute_spec.handler. */ +tree +arm_pe_handle_shared_attribute (tree *node, tree name, + tree args ATTRIBUTE_UNUSED, + int flags ATTRIBUTE_UNUSED, bool *no_add_attrs) +{ + if (TREE_CODE (*node) != VAR_DECL) + { + warning (OPT_Wattributes, "%qs attribute only applies to variables", + IDENTIFIER_POINTER (name)); + *no_add_attrs = true; + } + + return NULL_TREE; +} + /* Handle a "selectany" attribute; arguments as in struct attribute_spec.handler. */ tree @@ -290,6 +307,19 @@ && arm_pe_dllimport_name_p (XSTR (XEXP (XEXP (rtl, 0), 0), 0)))); } +const char * +arm_pe_strip_name_encoding (const char *str) +{ + if (strncmp (str, DLL_IMPORT_PREFIX, strlen (DLL_IMPORT_PREFIX)) + == 0) + str += strlen (DLL_IMPORT_PREFIX); + else if (strncmp (str, DLL_EXPORT_PREFIX, strlen (DLL_EXPORT_PREFIX)) + == 0) + str += strlen (DLL_EXPORT_PREFIX); + + return arm_strip_name_encoding (str); +} + /* Output a reference to a label. Symbols don't have a prefix (unless they are marked dllimport or dllexport). */ @@ -299,12 +329,12 @@ == 0) /* A dll import */ { - asm_fprintf (stream, "__imp_%U%s", arm_strip_name_encoding (name)); + asm_fprintf (stream, "__imp_%U%s", arm_pe_strip_name_encoding (name)); } else /* Everything else. */ { - asm_fprintf (stream, "%U%s", arm_strip_name_encoding (name)); + asm_fprintf (stream, "%U%s", arm_pe_strip_name_encoding (name)); } } @@ -316,7 +346,7 @@ char *string; name = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (decl)); - name = arm_strip_name_encoding (name); + name = arm_pe_strip_name_encoding (name); /* The object is put in, for example, section .text$foo. The linker will then ultimately place them in .text @@ -337,18 +367,122 @@ DECL_SECTION_NAME (decl) = build_string (len, string); } +/* Select a set of attributes for section NAME based on the properties + of DECL and whether or not RELOC indicates that DECL's initializer + might contain runtime relocations. + + We make the section read-only and executable for a function decl, + read-only for a const data decl, and writable for a non-const data decl. + + If the section has already been defined, to not allow it to have + different attributes, as (1) this is ambiguous since we're not seeing + all the declarations up front and (2) some assemblers (e.g. SVR4) + do not recognize section redefinitions. */ +/* ??? This differs from the "standard" PE implementation in that we + handle the SHARED variable attribute. Should this be done for all + PE targets? */ + +#define SECTION_PE_SHARED SECTION_MACH_DEP + +unsigned int +arm_pe_section_type_flags (tree decl, const char *name, int reloc) +{ + static htab_t htab; + unsigned int flags; + unsigned int **slot; + + /* The names we put in the hashtable will always be the unique + versions given to us by the stringtable, so we can just use + their addresses as the keys. */ + if (!htab) + htab = htab_create (31, htab_hash_pointer, htab_eq_pointer, NULL); + + if (decl && TREE_CODE (decl) == FUNCTION_DECL) + flags = SECTION_CODE; + else if (decl && decl_readonly_section (decl, reloc)) + flags = 0; + else + { + flags = SECTION_WRITE; + + if (decl && TREE_CODE (decl) == VAR_DECL + && lookup_attribute ("shared", DECL_ATTRIBUTES (decl))) + flags |= SECTION_PE_SHARED; + } + + if (decl && DECL_ONE_ONLY (decl)) + flags |= SECTION_LINKONCE; + + /* See if we already have an entry for this section. */ + slot = (unsigned int **) htab_find_slot (htab, name, INSERT); + if (!*slot) + { + *slot = (unsigned int *) xmalloc (sizeof (unsigned int)); + **slot = flags; + } + else + { + if (decl && **slot != flags) + error ("%q+D causes a section type conflict", decl); + } + + return flags; +} + +void +arm_pe_asm_named_section (const char *name, unsigned int flags, + tree decl) +{ + char flagchars[8], *f = flagchars; + + if ((flags & (SECTION_CODE | SECTION_WRITE)) == 0) + /* readonly data */ + { + *f++ ='d'; /* This is necessary for older versions of gas. */ + *f++ ='r'; + } + else + { + if (flags & SECTION_CODE) + *f++ = 'x'; + if (flags & SECTION_WRITE) + *f++ = 'w'; + if (flags & SECTION_PE_SHARED) + *f++ = 's'; + } + + *f = '\0'; + + fprintf (asm_out_file, "\t.section\t%s,\"%s\"\n", name, flagchars); + + if (flags & SECTION_LINKONCE) + { + /* Functions may have been compiled at various levels of + optimization so we can't use `same_size' here. + Instead, have the linker pick one, without warning. + If 'selectany' attribute has been specified, MS compiler + sets 'discard' characteristic, rather than telling linker + to warn of size or content mismatch, so do the same. */ + bool discard = (flags & SECTION_CODE) + || lookup_attribute ("selectany", + DECL_ATTRIBUTES (decl)); + fprintf (asm_out_file, "\t.linkonce %s\n", + (discard ? "discard" : "same_size")); + } +} + /* The Microsoft linker requires that every function be marked as -DT_FCN. When using gas on cygwin, we must emit appropriate .type -directives. */ + DT_FCN. When using gas on cygwin, we must emit appropriate .type + directives. */ #include "gsyms.h" /* Mark a function appropriately. This should only be called for -functions for which we are not emitting COFF debugging information. -FILE is the assembler output file, NAME is the name of the -function, and PUBLIC is nonzero if the function is globally -visible. */ + functions for which we are not emitting COFF debugging information. + FILE is the assembler output file, NAME is the name of the + function, and PUBLIC is nonzero if the function is globally + visible. */ void arm_pe_declare_function_type (FILE *file, const char *name, int public) @@ -372,10 +506,10 @@ static GTY(()) struct extern_list *extern_head; /* Assemble an external function reference. We need to keep a list of -these, so that we can output the function types at the end of the -assembly. We can't output the types now, because we might see a -definition of the function later on and emit debugging information -for it then. */ + these, so that we can output the function types at the end of the + assembly. We can't output the types now, because we might see a + definition of the function later on and emit debugging information + for it then. */ void arm_pe_record_external_function (tree decl, const char *name) @@ -401,10 +535,10 @@ static GTY(()) struct export_list *export_head; /* Assemble an export symbol entry. We need to keep a list of -these, so that we can output the export list at the end of the -assembly. We used to output these export symbols in each function, -but that causes problems with GNU ld when the sections are -linkonce. */ + these, so that we can output the export list at the end of the + assembly. We used to output these export symbols in each function, + but that causes problems with GNU ld when the sections are + linkonce. */ void arm_pe_record_exported_symbol (const char *name, int is_data) @@ -419,43 +553,43 @@ } /* This is called at the end of assembly. For each external function -which has not been defined, we output a declaration now. We also -output the .drectve section. */ + which has not been defined, we output a declaration now. We also + output the .drectve section. */ void arm_pe_file_end (void) { struct extern_list *p; -// ix86_file_end (); + arm_file_end (); for (p = extern_head; p != NULL; p = p->next) - { - tree decl; + { + tree decl; - decl = p->decl; + decl = p->decl; - /* Positively ensure only one declaration for any given symbol. */ - if (! TREE_ASM_WRITTEN (decl) - && TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl))) - { - TREE_ASM_WRITTEN (decl) = 1; - arm_pe_declare_function_type (asm_out_file, p->name, - TREE_PUBLIC (decl)); + /* Positively ensure only one declaration for any given symbol. */ + if (! TREE_ASM_WRITTEN (decl) + && TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl))) + { + TREE_ASM_WRITTEN (decl) = 1; + arm_pe_declare_function_type (asm_out_file, p->name, + TREE_PUBLIC (decl)); + } } - } if (export_head) - { - struct export_list *q; - drectve_section (); - for (q = export_head; q != NULL; q = q->next) { - fprintf (asm_out_file, "\t.ascii \" -export:%s%s\"\n", - arm_strip_name_encoding (q->name), - (q->is_data) ? ",data" : ""); + struct export_list *q; + drectve_section (); + for (q = export_head; q != NULL; q = q->next) + { + fprintf (asm_out_file, "\t.ascii \" -export:%s%s\"\n", + arm_pe_strip_name_encoding (q->name), + (q->is_data) ? ",data" : ""); + } } - } } #include "gt-pe.h" Modified: trunk/cegcc/src/gcc/gcc/config/arm/pe.h =================================================================== --- trunk/cegcc/src/gcc/gcc/config/arm/pe.h 2006-10-30 21:55:45 UTC (rev 759) +++ trunk/cegcc/src/gcc/gcc/config/arm/pe.h 2006-10-30 23:51:18 UTC (rev 760) @@ -60,12 +60,36 @@ #undef WCHAR_TYPE_SIZE #define WCHAR_TYPE_SIZE 16 + +/* Handle #pragma weak and #pragma pack. */ +#define HANDLE_SYSV_PRAGMA 1 +#define HANDLE_PRAGMA_PACK_PUSH_POP 1 + +union tree_node; +#define TREE union tree_node * + + /* r11 is fixed. */ #undef SUBTARGET_CONDITIONAL_REGISTER_USAGE #define SUBTARGET_CONDITIONAL_REGISTER_USAGE \ fixed_regs [11] = 1; \ call_used_regs [11] = 1; +/* Don't allow flag_pic to propagate since gas may produce invalid code + otherwise. */ + +#undef SUBTARGET_OVERRIDE_OPTIONS +#define SUBTARGET_OVERRIDE_OPTIONS \ +do { \ + if (flag_pic) \ + { \ + warning (0, "-f%s ignored for target (all code is position independent)",\ + (flag_pic > 1) ? "PIC" : "pic"); \ + flag_pic = 0; \ + } \ +} while (0) \ + + /* PE/COFF uses explicit import from shared libraries. */ #define MULTIPLE_SYMBOL_SPACES 1 @@ -77,7 +101,12 @@ /* Switch into a generic section. */ #undef TARGET_ASM_NAMED_SECTION -#define TARGET_ASM_NAMED_SECTION default_pe_asm_named_section +#define TARGET_ASM_NAMED_SECTION arm_pe_asm_named_section + +/* Select attributes for named sections. */ +#undef TARGET_SECTION_TYPE_FLAGS +#define TARGET_SECTION_TYPE_FLAGS arm_pe_section_type_flags + #define TARGET_ASM_FILE_START_FILE_DIRECTIVE true @@ -85,62 +114,120 @@ #undef ASM_OUTPUT_LABELREF #define ASM_OUTPUT_LABELREF arm_pe_output_labelref -/* Output a function definition label. */ -#undef ASM_DECLARE_FUNCTION_NAME -#define ASM_DECLARE_FUNCTION_NAME(STREAM, NAME, DECL) \ - do \ - { \ - if (arm_pe_dllexport_name_p (NAME)) \ - { \ - drectve_section (); \ - fprintf (STREAM, "\t.ascii \" -export:%s\"\n", \ - arm_strip_name_encoding (NAME)); \ - function_section (DECL); \ - } \ - ARM_DECLARE_FUNCTION_NAME (STREAM, NAME, DECL); \ - if (TARGET_THUMB) \ - fprintf (STREAM, "\t.code 16\n"); \ - ASM_OUTPUT_LABEL (STREAM, NAME); \ - } \ - while (0) +/* Write the extra assembler code needed to declare a function + properly. If we are generating SDB debugging information, this + will happen automatically, so we only need to handle other cases. */ +#undef ASM_DECLARE_FUNCTION_NAME +#define ASM_DECLARE_FUNCTION_NAME(STREAM, NAME, DECL) \ + do \ + { \ + if (arm_pe_dllexport_name_p (NAME)) \ + arm_pe_record_exported_symbol (NAME, 0); \ + if (write_symbols != SDB_DEBUG) \ + arm_pe_declare_function_type (STREAM, NAME, TREE_PUBLIC (DECL)); \ + ARM_DECLARE_FUNCTION_NAME (STREAM, NAME, DECL); \ + if (TARGET_THUMB) \ + fprintf (STREAM, "\t.code 16\n"); \ + ASM_OUTPUT_LABEL (STREAM, NAME); \ + } \ + while (0) +/* Output function declarations at the end of the file. */ +#undef TARGET_ASM_FILE_END +#define TARGET_ASM_FILE_END arm_pe_file_end + +#undef TARGET_ENCODE_SECTION_INFO +#define TARGET_ENCODE_SECTION_INFO arm_pe_encode_section_info + +#undef TARGET_STRIP_NAME_ENCODING +#define TARGET_STRIP_NAME_ENCODING arm_pe_strip_name_encoding + +#undef COMMON_ASM_OP +#define COMMON_ASM_OP "\t.comm\t" + /* Output a common block. */ #undef ASM_OUTPUT_COMMON #define ASM_OUTPUT_COMMON(STREAM, NAME, SIZE, ROUNDED) \ - do \ - { \ - if (arm_pe_dllexport_name_p (NAME)) \ - { \ - drectve_section (); \ - fprintf ((STREAM), "\t.ascii \" -export:%s\"\n",\ - arm_strip_name_encoding (NAME)); \ - } \ - if (! arm_pe_dllimport_name_p (NAME)) \ - { \ - fprintf ((STREAM), "\t.comm\t"); \ - assemble_name ((STREAM), (NAME)); \ - asm_fprintf ((STREAM), ", %d\t%@ %d\n", \ +do { \ + if (arm_pe_dllexport_name_p (NAME)) \ + arm_pe_record_exported_symbol (NAME, 1); \ + if (! arm_pe_dllimport_name_p (NAME)) \ + { \ + fprintf ((STREAM), "\t.comm\t"); \ + assemble_name ((STREAM), (NAME)); \ + asm_fprintf ((STREAM), ", %d\t%@ %d\n", \ (int)(ROUNDED), (int)(SIZE)); \ - } \ - } \ - while (0) + } \ +} while (0) /* Output the label for an initialized variable. */ -#undef ASM_DECLARE_OBJECT_NAME -#define ASM_DECLARE_OBJECT_NAME(STREAM, NAME, DECL) \ - do \ - { \ - if (arm_pe_dllexport_name_p (NAME)) \ - { \ - enum in_section save_section = in_section; \ - drectve_section (); \ - fprintf (STREAM, "\t.ascii \" -export:%s\"\n",\ - arm_strip_name_encoding (NAME)); \ - switch_to_section (save_section, (DECL)); \ - } \ - ASM_OUTPUT_LABEL ((STREAM), (NAME)); \ - } \ - while (0) +#undef ASM_DECLARE_OBJECT_NAME +#define ASM_DECLARE_OBJECT_NAME(STREAM, NAME, DECL) \ + do { \ + if (arm_pe_dllexport_name_p (NAME)) \ + arm_pe_record_exported_symbol (NAME, 1); \ + ASM_OUTPUT_LABEL ((STREAM), (NAME)); \ + } while (0) + +/* Add an external function to the list of functions to be declared at +the end of the file. */ +#undef ASM_OUTPUT_EXTERNAL +#define ASM_OUTPUT_EXTERNAL(FILE, DECL, NAME) \ + do \ + { \ + if (TREE_CODE (DECL) == FUNCTION_DECL) \ + arm_pe_record_external_function ((DECL), (NAME)); \ + } \ + while (0) + +/* Declare the type properly for any external libcall. */ +#undef ASM_OUTPUT_EXTERNAL_LIBCALL +#define ASM_OUTPUT_EXTERNAL_LIBCALL(FILE, FUN) \ + arm_pe_declare_function_type (FILE, XSTR (FUN, 0), 1) + +#undef PROFILE_HOOK +#define PROFILE_HOOK(LABEL) \ + if (MAIN_NAME_P (DECL_NAME (current_function_decl))) \ + { \ + emit_call_insn (gen_rtx_CALL (VOIDmode, \ + gen_rtx_MEM (FUNCTION_MODE, \ + gen_rtx_SYMBOL_REF (Pmode, "_monstartup")), \ + const0_rtx)); \ + } + +/* This implements the `alias' attribute. */ +#undef ASM_OUTPUT_DEF_FROM_DECLS +#define ASM_OUTPUT_DEF_FROM_DECLS(STREAM, DECL, TARGET) \ + do \ + { \ + const char *alias; \ + rtx rtlname = XEXP (DECL_RTL (DECL), 0); \ + if (GET_CODE (rtlname) == SYMBOL_REF) \ + alias = XSTR (rtlname, 0); \ + else \ + abort (); \ + if (TREE_CODE (DECL) == FUNCTION_DECL) \ + arm_pe_declare_function_type (STREAM, alias, \ + TREE_PUBLIC (DECL)); \ + ASM_OUTPUT_DEF (STREAM, alias, IDENTIFIER_POINTER (TARGET)); \ + } while (0) + +#define SUPPORTS_ONE_ONLY 1 + +#define SUBTARGET_ATTRIBUTE_TABLE \ + /* { name, min_len, max_len, decl_req, type_req, fn_type_req, handler } */ \ + { "selectany", 0, 0, true, false, false, arm_pe_handle_selectany_attribute } + +/* Decide whether it is safe to use a local alias for a virtual function + when constructing thunks. */ +#undef TARGET_USE_LOCAL_THUNK_ALIAS_P +#define TARGET_USE_LOCAL_THUNK_ALIAS_P(DECL) (!DECL_ONE_ONLY (DECL)) + +/* FIXME: SUPPORTS_WEAK && TARGET_HAVE_NAMED_SECTIONS is true, + but for .jcr section to work we also need crtbegin and crtend + objects. */ +#define TARGET_USE_JCR_SECTION 0 + /* Support the ctors/dtors and other sections. */ @@ -170,6 +257,24 @@ } \ } +/* Define this macro if references to a symbol must be treated + differently depending on something about the variable or + function named by the symbol (such as what section it is in). + + We must mark dll symbols specially. Definitions of + dllexport'd objects install some info in the .drectve section. + References to dllimport'd objects are fetched indirectly via + __imp_. If both are declared, dllexport overrides. This is also + needed to implement one-only vtables: they go into their own + section and we need to set DECL_SECTION_NAME so we do that here. + Note that we can be called twice on the same decl. */ + +#undef SUBTARGET_ENCODE_SECTION_INFO +#define SUBTARGET_ENCODE_SECTION_INFO arm_pe_encode_section_info + +#undef TARGET_STRIP_NAME_ENCODING +#define TARGET_STRIP_NAME_ENCODING arm_pe_strip_name_encoding + /* Switch to SECTION (an `enum in_section'). ??? This facility should be provided by GCC proper. Modified: trunk/cegcc/src/gcc/gcc/config/arm/pe.opt =================================================================== --- trunk/cegcc/src/gcc/gcc/config/arm/pe.opt 2006-10-30 21:55:45 UTC (rev 759) +++ trunk/cegcc/src/gcc/gcc/config/arm/pe.opt 2006-10-30 23:51:18 UTC (rev 760) @@ -1,6 +1,6 @@ ; PE-specific options for the ARM port -; Copyright (C) 2005 Free Software Foundation, Inc. +; Copyright (C) 2005,2006 Free Software Foundation, Inc. ; ; This file is part of GCC. ; @@ -22,3 +22,7 @@ mnop-fun-dllimport Target Report Mask(NOP_FUN_DLLIMPORT) Ignore dllimport attribute for functions + +mms-bitfields +Target Report Mask(MS_BITFIELD_LAYOUT) +Use native (MS) bitfield layout Modified: trunk/cegcc/src/gcc/gcc/config/arm/t-mingw32 =================================================================== --- trunk/cegcc/src/gcc/gcc/config/arm/t-mingw32 2006-10-30 21:55:45 UTC (rev 759) +++ trunk/cegcc/src/gcc/gcc/config/arm/t-mingw32 2006-10-30 23:51:18 UTC (rev 760) @@ -1,2 +1 @@ -# Match SYSTEM_INCLUDE_DIR -NATIVE_SYSTEM_HEADER_DIR = /mingw/include + Modified: trunk/cegcc/src/gcc/gcc/config/arm/t-wince-cegcc =================================================================== --- trunk/cegcc/src/gcc/gcc/config/arm/t-wince-cegcc 2006-10-30 21:55:45 UTC (rev 759) +++ trunk/cegcc/src/gcc/gcc/config/arm/t-wince-cegcc 2006-10-30 23:51:18 UTC (rev 760) @@ -0,0 +1,7 @@ +cegcc1.o: $(srcdir)/config/arm/cegcc1.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ + $(TM_H) $(TM_P_H) + $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ + $(srcdir)/config/arm/cegcc1.c + +#Needed because we include <windows.h> +TARGET_LIBGCC2_CFLAGS += -mwin32 Modified: trunk/cegcc/src/gcc/gcc/config/arm/t-wince-pe =================================================================== --- trunk/cegcc/src/gcc/gcc/config/arm/t-wince-pe 2006-10-30 21:55:45 UTC (rev 759) +++ trunk/cegcc/src/gcc/gcc/config/arm/t-wince-pe 2006-10-30 23:51:18 UTC (rev 760) @@ -1,5 +1,4 @@ LIB1ASMSRC = arm/lib1funcs.asm - LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func \ _call_via_rX _interwork_call_via_rX \ _lshrdi3 _ashrdi3 _ashldi3 \ @@ -7,15 +6,6 @@ _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \ _fixsfsi _fixunssfsi _floatdidf _floatdisf -#LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func \ -# _call_via_rX _interwork_call_via_rX \ -# _lshrdi3 _ashrdi3 _ashldi3 \ -# _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \ -# _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \ -# _fixsfsi _fixunssfsi _floatdidf _floatdisf \ -# _divdi3 _udivmoddi4 _udivdi3 _umoddi3 _moddi3 _muldi3 _negdi2 \ -# _cmpdi2 _fixdfdi _fixsfdi _fixunsdfdi _fixunssfdi - # We want fine grained libraries, so use the new code to build the # floating point emulation libraries. FPBIT = fp-bit.c @@ -35,12 +25,8 @@ echo '#endif' >> dp-bit.c cat $(srcdir)/config/fp-bit.c >> dp-bit.c -#pe.o: $(srcdir)/config/arm/pe.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \ -# $(RTL_H) output.h flags.h $(TREE_H) expr.h toplev.h $(TM_P_H) -# $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(srcdir)/config/arm/pe.c - pe.o: $(srcdir)/config/arm/pe.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ - $(TM_H) $(RTL_H) $(REGS_H) hard-reg-set.h output.h $(TREE_H) flags.h \ + $(TM_H) $(RTL_H) $(REGS_H) hard-reg-set.h output.h $(TREE_H) expr.h flags.h \ $(TM_P_H) toplev.h $(HASHTAB_H) $(GGC_H) $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ $(srcdir)/config/arm/pe.c @@ -57,14 +43,9 @@ $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ $(srcdir)/config/arm/pe-stubs.c -cegcc1.o: $(srcdir)/config/arm/cegcc1.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ - $(TM_H) $(TM_P_H) - $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ - $(srcdir)/config/arm/cegcc1.c +MULTILIB_OPTIONS = +MULTILIB_DIRNAMES = -MULTILIB_OPTIONS = mfpu=vfp -#MULTILIB_DIRNAMES = fpu -#MULTILIB_EXTRA_OPTS = mfpu=vfp # Note - Thumb multilib omitted because Thumb support for # arm-wince-pe target does not appear to be working in binutils # yet... @@ -74,5 +55,4 @@ LIBGCC = stmp-multilib INSTALL_LIBGCC = install-multilib -TARGET_LIBGCC2_CFLAGS = -Dinhibit_libc -mwin32 -fno-leading-underscore \ - -fms-extensions -fdollars-in-identifiers +TARGET_LIBGCC2_CFLAGS = -Dinhibit_libc Modified: trunk/cegcc/src/gcc/gcc/config/arm/wince-cegcc.h =================================================================== --- trunk/cegcc/src/gcc/gcc/config/arm/wince-cegcc.h 2006-10-30 21:55:45 UTC (rev 759) +++ trunk/cegcc/src/gcc/gcc/config/arm/wince-cegcc.h 2006-10-30 23:51:18 UTC (rev 760) @@ -33,35 +33,6 @@ %{!nostdinc:%{!mno-win32: -idirafter ../include/w32api%s -idirafter ../../include/w32api%s }} \ " -#undef SUBTARGET_EXTRA_SPECS -#define SUBTARGET_EXTRA_SPECS \ - { "subtarget_asm_float_spec", SUBTARGET_ASM_FLOAT_SPEC }, \ - { "mingw_include_path", DEFAULT_TARGET_MACHINE } - -#define EXTRA_OS_CPP_BUILTINS() - -#undef TARGET_OS_CPP_BUILTINS -#define TARGET_OS_CPP_BUILTINS() \ - do \ - { \ - builtin_define ("_M_ARM=1"); \ - builtin_define ("ARM=1"); \ - builtin_define_std ("UNDER_CE"); \ - builtin_define ("_UNICODE"); \ - builtin_define_std ("UNICODE"); \ - builtin_define ("__stdcall=__attribute__((__cdecl__))"); \ - builtin_define ("__cdecl=__attribute__((__cdecl__))"); \ - /* Even though linkonce works with static libs, this is needed \ - to compare typeinfo symbols across dll boundaries. */ \ - builtin_define ("__GXX_MERGED_TYPEINFO_NAMES=0"); \ - EXTRA_OS_CPP_BUILTINS (); \ - } \ - while (0) - -#undef SUBTARGET_CPP_SPEC -#define SUBTARGET_CPP_SPEC " -D__cegcc__ -D__pe__" - -/* Now we define the strings used to build the spec file. */ #undef STARTFILE_SPEC #define STARTFILE_SPEC "\ %{shared|mdll:dllcrt1%O%s } \ @@ -76,10 +47,10 @@ "%{mthreads:-lcegccthrd} %{!static: -lcegcc } -lgcc" /* We have to dynamic link to get to the system DLLs. All of libc, libm, -the Unix stuff is in cegcc.dll. The import library is called -'libcegcc.dll.a'. For Windows applications, include more libraries, but -always include coredll. We'd like to specify subsystem windows to -ld, but that doesn't work just yet. */ + the Unix stuff is in cegcc.dll. The import library is called + 'libcegcc.dll.a'. For Windows applications, include more libraries, but + always include coredll. We'd like to specify subsystem windows to + ld, but that doesn't work just yet. */ #undef LIB_SPEC #define LIB_SPEC "%{static: -lm -lc} \ Modified: trunk/cegcc/src/gcc/gcc/config/arm/wince-pe.h =================================================================== --- trunk/cegcc/src/gcc/gcc/config/arm/wince-pe.h 2006-10-30 21:55:45 UTC (rev 759) +++ trunk/cegcc/src/gcc/gcc/config/arm/wince-pe.h 2006-10-30 23:51:18 UTC (rev 760) @@ -21,43 +21,44 @@ the Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -#undef TARGET_DEFAULT -#define TARGET_DEFAULT (MASK_NOP_FUN_DLLIMPORT) +/* Enable WinCE specific code. */ +#define ARM_WINCE 1 #undef MATH_LIBRARY #define MATH_LIBRARY "" -#define NO_IMPLICIT_EXTERN_C - #define TARGET_EXECUTABLE_SUFFIX ".exe" #undef TARGET_VERSION -#define TARGET_VERSION fprintf (stderr, " (arm cegcc)"); +#define TARGET_VERSION fprintf (stderr, " (arm Windows CE/Native SDK)"); -/* pedro: defined empty in arm.h, redefined in pe.h, and then here */ #undef SUBTARGET_CONDITIONAL_REGISTER_USAGE #define SUBTARGET_CONDITIONAL_REGISTER_USAGE #undef MULTILIB_DEFAULTS #define MULTILIB_DEFAULTS \ - { "marm", "mlittle-endian", "msoft-float", "mfpu=vfp", "mno-thumb-interwork" } + { "marm", "mlittle-endian", "msoft-float", "mno-thumb-interwork" } + +#undef SUBTARGET_CPU_DEFAULT +#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm8 + +/* We must store doubles in little endian order. Specifying the default + of VFP assures that. To guaranty VFP insns won't be emitted by default, + we default to float-abi=soft. */ #undef FPUTYPE_DEFAULT #define FPUTYPE_DEFAULT FPUTYPE_VFP #undef CPP_SPEC -#define CPP_SPEC "%(cpp_cpu) %{posix:-D_POSIX_SOURCE} \ -%{mno-win32:%{mno-cegcc: %emno-cegcc and mno-win32 are not compatible}} \ -%{mno-cegcc: %{!ansi:%{mthreads: -D_MT }}} \ -%{!mno-cegcc: -D__CEGCC32__ -D__CEGCC__ %{!ansi:-Dunix} -D__unix__ -D__unix } \ -%{mwin32|mno-cegcc: -DWIN32 -D_WIN32 -D__WIN32 -D__WIN32__ } \ -%{!nostdinc:%{!mno-win32|mno-cegcc: -idirafter ../include/w32api%s -idirafter ../../include/w32api%s }} \ +#define CPP_SPEC "%(cpp_cpu) \ +-DWIN32 -D_WIN32 -D__WIN32 -D__WIN32__ \ +%{!nostdinc: -idirafter ../include/w32api%s -idirafter ../../include/w32api%s } \ " -#undef ASM_SPEC +#ifndef ASM_SPEC #define ASM_SPEC "\ %{mbig-endian:-EB} \ %{mlittle-endian:-EL} \ -%{mcpu=xscale:-mcpu=iwmmxt; mcpu=*:-mcpu=%*} \ +%{mcpu=*:-mcpu=%*} \ %{march=*:-march=%*} \ %{mapcs-*:-mapcs-%*} \ %(subtarget_asm_float_spec) \ @@ -65,16 +66,8 @@ %{msoft-float:-mfloat-abi=soft} %{mhard-float:-mfloat-abi=hard} \ %{mfloat-abi=*} %{mfpu=*} \ %(subtarget_extra_asm_spec)" +#endif -#undef SUBTARGET_EXTRA_SPECS -#define SUBTARGET_EXTRA_SPECS \ - { "subtarget_asm_float_spec", SUBTARGET_ASM_FLOAT_SPEC }, \ - { "mingw_include_path", DEFAULT_TARGET_MACHINE } - -#undef SUBTARGET_ASM_FLOAT_SPEC -#define SUBTARGET_ASM_FLOAT_SPEC "\ -%{!mfpu=*:-mfpu=vfp}" - #define EXTRA_OS_CPP_BUILTINS() #define TARGET_OS_CPP_BUILTINS() \ @@ -82,11 +75,21 @@ { \ builtin_define ("_M_ARM=1"); \ builtin_define ("ARM=1"); \ + /* We currently defined UNDER_CE to a non-value, and it seems \ + MSVC2005 does the same. */ \ builtin_define_std ("UNDER_CE"); \ builtin_define ("_UNICODE"); \ builtin_define_std ("UNICODE"); \ + /* Let's just ignore stdcall, and fastcall. */ \ builtin_define ("__stdcall=__attribute__((__cdecl__))"); \ - builtin_define ("__cdecl=__attribute__((__cdecl__))"); \ + builtin_define ("__fastcall=__attribute__((__cdecl__))"); \ + builtin_define ("__cdecl=__attribute__((__cdecl__))"); \ + if (!flag_iso) \ + { \ + builtin_define ("_stdcall=__attribute__((__cdecl__))"); \ + builtin_define ("_fastcall=__attribute__((__cdecl__))"); \ + builtin_define ("_cdecl=__attribute__((__cdecl__))"); \ + } \ /* Even though linkonce works with static libs, this is needed \ to compare typeinfo symbols across dll boundaries. */ \ builtin_define ("__GXX_MERGED_TYPEINFO_NAMES=0"); \ @@ -94,36 +97,18 @@ } \ while (0) -#undef SUBTARGET_CPP_SPEC -#define SUBTARGET_CPP_SPEC " -D__pe__ " - -/* Handle #pragma weak and #pragma pack. */ -#define HANDLE_SYSV_PRAGMA 1 -#define HANDLE_PRAGMA_PACK_PUSH_POP 1 - /* Now we define the strings used to build the spec file. */ #undef STARTFILE_SPEC -#define STARTFILE_SPEC "\ - %{shared|mdll: %{!mno-cegcc:dllcrt1%O%s} %{mno-cegcc:dllcrt2%O%s} } \ - %{!shared: %{!mdll: \ - %{!mno-cegcc:crt0%O%s} %{mno-cegcc:crt2%O%s} \ - %{mthreads:crtmt%O%s} %{!mthreads:crtst%O%s} \ - } } \ - " +#define STARTFILE_SPEC "" #undef LIBGCC_SPEC -#define LIBGCC_SPEC \ - "%{mthreads:-lcegccthrd} %{!mno-cegcc: %{!static: -lcegcc } } -lgcc" +#define LIBGCC_SPEC "-lgcc" -/* We have to dynamic link to get to the system DLLs. All of libc, libm, -the Unix stuff is in cegcc.dll. The import library is called -'libcegcc.dll.a'. For Windows applications, include more libraries, but -always include coredll. We'd like to specify subsystem windows to -ld, but that doesn't work just yet. */ - +/* Link with coredll, the main libc in the native SDK, + and to corelibc, a static lib that contains the start files, among other + basic crt stuff. */ #undef LIB_SPEC -#define LIB_SPEC "\ - %{!mno-cegcc: %{static: -lm -lc} } -lcoredll" +#define LIB_SPEC "-lcoredll -lcorelibc" #undef LINK_SPEC #define LINK_SPEC "\ @@ -133,82 +118,13 @@ %{shared|mdll: -e DllMainCRTStartup} \ " -#define ARM_WINCE 1 - -#undef COMMON_ASM_OP -#define COMMON_ASM_OP "\t.comm\t" - -/* Output a common block. */ -#undef ASM_OUTPUT_COMMON -#define ASM_OUTPUT_COMMON(STREAM, NAME, SIZE, ROUNDED) \ - do { \ - if (arm_pe_dllexport_name_p (NAME)) \ - arm_pe_record_exported_symbol (NAME, 1); \ - if (! arm_pe_dllimport_name_p (NAME)) \ - { \ - fprintf ((STREAM), "\t.comm\t"); \ - assemble_name ((STREAM), (NAME)); \ - fprintf ((STREAM), ", %d\t%s %d\n", \ - (int)(ROUNDED), ASM_COMMENT_START, (int)(SIZE)); \ - } \ - } while (0) - -/* Output the label for an initialized variable. */ -#undef ASM_DECLARE_OBJECT_NAME -#define ASM_DECLARE_OBJECT_NAME(STREAM, NAME, DECL) \ - do { \ - if (arm_pe_dllexport_name_p (NAME)) \ - arm_pe_record_exported_symbol (NAME, 1); \ - ASM_OUTPUT_LABEL ((STREAM), (NAME)); \ - } while (0) - -/* Write the extra assembler code needed to declare a function -properly. If we are generating SDB debugging information, this -will happen automatically, so we only need to handle other cases. */ -#undef ASM_DECLARE_FUNCTION_NAME -#define ASM_DECLARE_FUNCTION_NAME(FILE, NAME, DECL) \ - do \ - { \ - if (arm_pe_dllexport_name_p (NAME)) \ - arm_pe_record_exported_symbol (NAME, 0); \ - if (write_symbols != SDB_DEBUG) \ - arm_pe_declare_function_type (FILE, NAME, TREE_PUBLIC (DECL)); \ - ASM_OUTPUT_LABEL (FILE, NAME); \ - } \ - while (0) - - -/* Add an external function to the list of functions to be declared at -the end of the file. */ -#define ASM_OUTPUT_EXTERNAL(FILE, DECL, NAME) \ - do \ - { \ - if (TREE_CODE (DECL) == FUNCTION_DECL) \ - arm_pe_record_external_function ((DECL), (NAME)); \ - } \ - while (0) - -/* Declare the type properly for any external libcall. */ -#define ASM_OUTPUT_EXTERNAL_LIBCALL(FILE, FUN) \ - arm_pe_declare_function_type (FILE, XSTR (FUN, 0), 1) - -/* This says out to put a global symbol in the BSS section. */ -#undef ASM_OUTPUT_ALIGNED_BSS -#define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \ - asm_output_aligned_bss ((FILE), (DECL), (NAME), (SIZE), (ALIGN)) - -/* Output function declarations at the end of the file. */ -#undef TARGET_ASM_FILE_END -#define TARGET_ASM_FILE_END arm_pe_file_end - + /* Don't assume anything about the header files. */ #define NO_IMPLICIT_EXTERN_C -#define SUPPORTS_ONE_ONLY 1 + +/* Define types for compatibility with MS runtime. */ -/* Windows uses explicit import from shared libraries. */ -#define MULTIPLE_SYMBOL_SPACES 1 - #undef SIZE_TYPE #define SIZE_TYPE "unsigned int" @@ -221,10 +137,10 @@ #undef WCHAR_TYPE #define WCHAR_TYPE "short unsigned int" -/* Define as short unsigned for compatibility with MS runtime. */ #undef WINT_TYPE #define WINT_TYPE "short unsigned int" + #undef DWARF2_UNWIND_INFO #define DWARF2_UNWIND_INFO 0 @@ -252,6 +168,9 @@ /* Prefix for internally generated assembler labels. If we aren't using underscores, we are using prefix `.'s to identify labels that should be ignored. */ +/* If user-symbols don't have underscores, + then it must take more than `L' to identify + a label that should be ignored. */ #undef LPREFIX #define LPREFIX ".L" @@ -259,86 +178,42 @@ #undef LOCAL_LABEL_PREFIX #define LOCAL_LABEL_PREFIX "." -/* The prefix to add to user-visible assembler symbols. */ +/* The prefix to add to user-visible assembler symbols. + Arm Windows CE is not underscored. */ #undef USER_LABEL_PREFIX #define USER_LABEL_PREFIX "" - -/* If user-symbols don't have underscores, - then it must take more than `L' to identify - a label that should be ignored. */ - /* This is how to store into the string BUF the symbol_ref name of an internal numbered label where PREFIX is the class of label and NUM is the number within the class. This is suitable for output with `assemble_name'. */ - #undef ASM_GENERATE_INTERNAL_LABEL #define ASM_GENERATE_INTERNAL_LABEL(BUF,PREFIX,NUMBER) \ sprintf ((BUF), ".%s%ld", (PREFIX), (long)(NUMBER)) +/* We have to re-define this to prevent any conflicts. */ +#undef ARM_MCOUNT_NAME +#define ARM_MCOUNT_NAME "_mcount" + -/* Emit code to check the stack when allocating more that 4000 - bytes in one go. */ -#define CHECK_STACK_LIMIT 4000 +/* We do bitfields MSVC-compatibly by default. + We choose to be compatible with Microsoft's ARM and Thumb compilers, + which always return aggregates in memory. */ +#undef TARGET_DEFAULT +#define TARGET_DEFAULT (MASK_NOP_FUN_DLLIMPORT | \ + MASK_MS_BITFIELD_LAYOUT | \ + MASK_RETURN_AGGREGATES_IN_MEMORY) -/* By default, target has a 80387, uses IEEE compatible arithmetic, - returns float values in the 387 and needs stack probes. - We also align doubles to 64-bits for MSVC default compatibility. */ - -#undef TARGET_SUBTARGET_DEFAULT -#define TARGET_SUBTARGET_DEFAULT \ - (MASK_IEEE_FP | MASK_ALIGN_DOUBLE) - -/* ### Needs better testing!*/ -/* Native complier aligns internal doubles in structures on dword boundaries. */ -#undef BIGGEST_FIELD_ALIGNMENT -#define BIGGEST_FIELD_ALIGNMENT 64 - /* A bit-field declared as `int' forces `int' alignment for the struct. */ #undef PCC_BITFIELD_TYPE_MATTERS #define PCC_BITFIELD_TYPE_MATTERS 1 #define GROUP_BITFIELDS_BY_ALIGN TYPE_NATIVE(rec) -/* Enable alias attribute support. */ -#ifndef SET_ASM_OP -#define SET_ASM_OP "\t.set\t" -#endif +#undef DEFAULT_STRUCTURE_SIZE_BOUNDARY +#define DEFAULT_STRUCTURE_SIZE_BOUNDARY 8 - -/* This implements the `alias' attribute. */ -#undef ASM_OUTPUT_DEF_FROM_DECLS -#define ASM_OUTPUT_DEF_FROM_DECLS(STREAM, DECL, TARGET) \ - do \ - { \ - const char *alias; \ - rtx rtlname = XEXP (DECL_RTL (DECL), 0); \ - if (GET_CODE (rtlname) == SYMBOL_REF) \ - alias = XSTR (rtlname, 0); \ - else \ - abort (); \ - if (TREE_CODE (DECL) == FUNCTION_DECL) \ - arm_pe_declare_function_type (STREAM, alias, \ - TREE_PUBLIC (DECL)); \ - ASM_OUTPUT_DEF (STREAM, alias, IDENTIFIER_POINTER (TARGET)); \ - } while (0) - -/* FIXME: SUPPORTS_WEAK && TARGET_HAVE_NAMED_SECTIONS is true, - but for .jcr section to work we also need crtbegin and crtend - objects. */ -#define TARGET_USE_JCR_SECTION 0 - -/* Decide whether it is safe to use a local alias for a virtual function - when constructing thunks. */ -#undef TARGET_USE_LOCAL_THUNK_ALIAS_P -#define TARGET_USE_LOCAL_THUNK_ALIAS_P(DECL) (!DECL_ONE_ONLY (DECL)) - -#define SUBTARGET_ATTRIBUTE_TABLE \ - /* { name, min_len, max_len, decl_req, type_req, fn_type_req, handler } */ \ - { "selectany", 0, 0, true, false, false, arm_pe_handle_selectany_attribute } - #undef TREE #ifndef BUFSIZ Modified: trunk/cegcc/src/gcc/gcc/target-def.h =================================================================== --- trunk/cegcc/src/gcc/gcc/target-def.h 2006-10-30 21:55:45 UTC (rev 759) +++ trunk/cegcc/src/gcc/gcc/target-def.h 2006-10-30 23:51:18 UTC (rev 760) @@ -308,7 +308,10 @@ /* In tree.c. */ #define TARGET_MERGE_DECL_ATTRIBUTES merge_decl_attributes #define TARGET_MERGE_TYPE_ATTRIBUTES merge_type_attributes + +#ifndef TARGET_ATTRIBUTE_TABLE #define TARGET_ATTRIBUTE_TABLE NULL +#endif /* In cse.c. */ #define TARGET_ADDRESS_COST default_address_cost This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2006-10-30 23:52:08
|
Revision: 760 http://svn.sourceforge.net/cegcc/?rev=760&view=rev Author: pedroalves Date: 2006-10-30 15:51:18 -0800 (Mon, 30 Oct 2006) Log Message: ----------- * target-def.h (TARGET_ATTRIBUTE_TABLE): Only define if not defined before. * config/arm/arm.c (arm_file_end): Give it external linkage. (arm_handle_struct_attribute): New. (arm_ms_bitfield_layout_p): New. (TARGET_ATTRIBUTE_TABLE, TARGET_ASM_FILE_END, TARGET_ENCODE_SECTION_INFO, TARGET_STRIP_NAME_ENCODING): Move declarations to config/arm/arm.h. (TARGET_MS_BITFIELD_LAYOUT_P): Define to arm_ms_bitfield_layout_p. (arm_return_in_memory): Replace #ifdef'ing on ARM_WINCE with TARGET_RETURN_AGGREGATES_IN_MEMORY. (arm_attribute_table): Add shared, ms_struct, gcc_struct attributes. Allow subtarget to add attributes using SUBTARGET_ATTRIBUTE_TABLE. (arm_elf_asm_constructor): Only compile on OBJECT_FORMAT_ELF. (thumb_output_function_prologue): Call arm_pe_strip_name_encoding instead of arm_strip_name_encoding. (arm_handle_struct_attribute): New function. (arm_ms_bitfield_layout_p): New function. * config/arm/arm.h (TARGET_ASM_FILE_END, TARGET_ATTRIBUTE_TABLE, TARGET_ENCODE_SECTION_INFO, TARGET_STRIP_NAME_ENCODING): Define. * config/arm/t-wince-cegcc: Add cegcc1.o rule. (TARGET_LIBGCC2_CFLAGS): Add -mwin32. * config/arm/t-mingw32 (SYSTEM_INCLUDE_DIR): Delete. (NATIVE_SYSTEM_HEADER_DIR): Likewise. * config/arm/arm-protos.h (arm_file_end, arm_pe_asm_named_section, arm_pe_section_type_flags, arm_pe_strip_name_encoding, arm_pe_output_labelref, arm_pe_handle_shared_attribute): Declare. * config/arm/wince-pe.h: (TARGET_VERSION): Set to "(arm Windows CE/Native SDK)". (MULTILIB_DEFAULTS): Remove -mfpu=vfp. (SUBTARGET_CPU_DEFAULT): Default to TARGET_CPU_arm8 (armv4). (CPP_SPEC): Remove cegcc specifics. (ASM_SPEC): Don't pass -cpu=iwmmxt to assembler when -mcpu=xscale is used. (SUBTARGET_EXTRA_SPECS, SUBTARGET_ASM_FLOAT_SPEC): Remove. (TARGET_OS_CPP_BUILTINS): Add _stdcall, _fastcall and _cdecl. (SUBTARGET_CPP_SPEC, HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Delete. (STARTFILE_SPEC): Remove cegcc specifics. (LIBGCC_SPEC): Likewise. (LIB_SPEC): Likewise. (COMMON_ASM_OP, ASM_OUTPUT_COMMON, ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME, ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL, ASM_OUTPUT_ALIGNED_BSS, TARGET_ASM_FILE_END, SUPPORTS_ONE_ONLY, MULTIPLE_SYMBOL_SPACES): Delete. (ARM_MCOUNT_NAME): Define to _mcount to avoid conflicts. (CHECK_STACK_LIMIT): Delete. (TARGET_DEFAULT): Match Windows CE ABI with MASK_MS_BITFIELD_LAYOUT and MASK_RETURN_AGGREGATES_IN_MEMORY. (TARGET_SUBTARGET_DEFAULT): Delete. (BIGGEST_FIELD_ALIGNMENT): Delete. (SET_ASM_OP): Delete. (DEFAULT_STRUCTURE_SIZE_BOUNDARY): Define to 8 as WinCE's ABI requires. (ASM_OUTPUT_DEF_FROM_DECLS, TARGET_USE_JCR_SECTION, TARGET_USE_LOCAL_THUNK_ALIAS_P, SUBTARGET_ATTRIBUTE_TABLE): Delete. * config/arm/mingw32.h (STANDARD_INCLUDE_DIR, STANDARD_INCLUDE_COMPONENT): Delete. * config/arm/arm.opt: New option -mreturn-aggregates-in-memory. * config/arm/pe.opt: New option -mms-bitfields. * config/arm/pe.c (arm_pe_handle_shared_attribute): New. (arm_pe_strip_name_encoding): New. (arm_pe_output_labelref): Call arm_pe_strip_name_encoding instead of arm_strip_name_encoding. (arm_pe_unique_section): Likewise. (arm_pe_section_type_flags): New. (arm_pe_asm_named_section ): New. (arm_pe_file_end): Call arm_file_end. * config/arm/pe.h (HANDLE_SYSV_PRAGMA): New. (HANDLE_PRAGMA_PACK_PUSH_POP): New. (SUBTARGET_OVERRIDE_OPTIONS): New. (TARGET_ASM_NAMED_SECTION): Set to arm_pe_asm_named_section specialized version. (TARGET_SECTION_TYPE_FLAGS): New. (ASM_DECLARE_FUNCTION_NAME): Don't output -export to .drectve directly. Use arm_pe_record_exported_symbol instead. (TARGET_ASM_FILE_END): Set to arm_pe_file_end. (TARGET_ENCODE_SECTION_INFO): Set to arm_pe_encode_section_info. (TARGET_STRIP_NAME_ENCODING): Set to arm_pe_strip_name_encoding. (COMMON_ASM_OP): New. (ASM_OUTPUT_COMMON): Don't output -export to .drectve directly. Use arm_pe_record_exported_symbol instead. (ASM_DECLARE_OBJECT_NAME): Likewise. (ASM_OUTPUT_EXTERNAL): New. (ASM_OUTPUT_EXTERNAL_LIBCALL): New. (PROFILE_HOOK): New. (ASM_OUTPUT_DEF_FROM_DECLS): New. (SUPPORTS_ONE_ONLY). (SUBTARGET_ATTRIBUTE_TABLE): New. (TARGET_USE_LOCAL_THUNK_ALIAS_P): New. (TARGET_USE_JCR_SECTION): New. (SUBTARGET_ENCODE_SECTION_INFO): New. (TARGET_STRIP_NAME_ENCODING): New. * config/arm/wince-cegcc.h (SUBTARGET_EXTRA_SPECS, EXTRA_OS_CPP_BUILTINS, TARGET_OS_CPP_BUILTINS, SUBTARGET_CPP_SPEC): Delete. * config/arm/t-wince-pe (pe.o): Add expr.h to dependencies. (cegcc1.o): Delete build rule. (MULTILIB_OPTIONS): Remove -mfpu=vfp. (TARGET_LIBGCC2_CFLAGS): Remove unneeded options. Modified Paths: -------------- trunk/cegcc/src/gcc/gcc/ChangeLog.ce trunk/cegcc/src/gcc/gcc/config/arm/arm-protos.h trunk/cegcc/src/gcc/gcc/config/arm/arm.c trunk/cegcc/src/gcc/gcc/config/arm/arm.h trunk/cegcc/src/gcc/gcc/config/arm/arm.opt trunk/cegcc/src/gcc/gcc/config/arm/mingw32.h trunk/cegcc/src/gcc/gcc/config/arm/pe.c trunk/cegcc/src/gcc/gcc/config/arm/pe.h trunk/cegcc/src/gcc/gcc/config/arm/pe.opt trunk/cegcc/src/gcc/gcc/config/arm/t-mingw32 trunk/cegcc/src/gcc/gcc/config/arm/t-wince-cegcc trunk/cegcc/src/gcc/gcc/config/arm/t-wince-pe trunk/cegcc/src/gcc/gcc/config/arm/wince-cegcc.h trunk/cegcc/src/gcc/gcc/config/arm/wince-pe.h trunk/cegcc/src/gcc/gcc/target-def.h This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2006-10-30 22:41:14
|
Revision: 759 http://svn.sourceforge.net/cegcc/?rev=759&view=rev Author: pedroalves Date: 2006-10-30 13:55:45 -0800 (Mon, 30 Oct 2006) Log Message: ----------- Just some formatting fixes. There should be no space before the colon. Modified Paths: -------------- trunk/cegcc/src/gcc/gcc/ChangeLog.ce Modified: trunk/cegcc/src/gcc/gcc/ChangeLog.ce =================================================================== --- trunk/cegcc/src/gcc/gcc/ChangeLog.ce 2006-10-30 21:53:29 UTC (rev 758) +++ trunk/cegcc/src/gcc/gcc/ChangeLog.ce 2006-10-30 21:55:45 UTC (rev 759) @@ -4,11 +4,11 @@ 2006-10-17 Pedro Alves <ped...@po...> * config/arm/wince-cegcc.h (STARTFILE_SPEC) : Add gcrt3.o instead of gcrt2.o. - * config/arm/mingw32.h : Likewise. + * config/arm/mingw32.h: Likewise. 2006-10-16 Danny Backx <dan...@us...> * config/arm/wince-cegcc.h (LIB_SPEC) : Link -lgmon when called with -pg. - (STARTFILE_SPEC) : Add gcrt2.o when called with -pg. + (STARTFILE_SPEC): Add gcrt2.o when called with -pg. 2006-10-12 Danny Backx <dan...@us...> * config/arm/wince-cegcc.h (mno-cegcc): Remove option. @@ -16,13 +16,13 @@ 2006-10-10 Pedro Alves <ped...@po...> - * config/arm/cegcc.c : Delete. We use the originals instead. + * config/arm/cegcc.c: Delete. We use the originals instead. This code is generic PE code, and will hopefully get pushed down to a more general place in GCC 4.3 stage1. - * cegcc-cxx.c : Likewise. - * cegcc-stubs.c : Likewise. - * config.gcc : Use the originals instead of the new copies for the + * cegcc-cxx.c: Likewise. + * cegcc-stubs.c: Likewise. + * config.gcc: Use the originals instead of the new copies for the arm*-wince-cegcc case. - * config/arm/t-wince-cegcc : Make it empty, we now inherit the generic + * config/arm/t-wince-cegcc: Make it empty, we now inherit the generic t-wince-pe. - * ChangeLog.ce : New file. + * ChangeLog.ce: New file. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2006-10-30 22:38:56
|
Revision: 758 http://svn.sourceforge.net/cegcc/?rev=758&view=rev Author: pedroalves Date: 2006-10-30 13:53:29 -0800 (Mon, 30 Oct 2006) Log Message: ----------- * config/arm/pe-cxx.c: Fix indenting to match the original config/i386/winnt-cxx.c. Modified Paths: -------------- trunk/cegcc/src/gcc/gcc/ChangeLog.ce trunk/cegcc/src/gcc/gcc/config/arm/pe-cxx.c Modified: trunk/cegcc/src/gcc/gcc/ChangeLog.ce =================================================================== --- trunk/cegcc/src/gcc/gcc/ChangeLog.ce 2006-10-29 21:14:57 UTC (rev 757) +++ trunk/cegcc/src/gcc/gcc/ChangeLog.ce 2006-10-30 21:53:29 UTC (rev 758) @@ -1,3 +1,6 @@ +2006-10-30 Pedro Alves <ped...@po...> + * config/arm/pe-cxx.c: Fix indenting to match the original config/i386/winnt-cxx.c. + 2006-10-17 Pedro Alves <ped...@po...> * config/arm/wince-cegcc.h (STARTFILE_SPEC) : Add gcrt3.o instead of gcrt2.o. Modified: trunk/cegcc/src/gcc/gcc/config/arm/pe-cxx.c =================================================================== --- trunk/cegcc/src/gcc/gcc/config/arm/pe-cxx.c 2006-10-29 21:14:57 UTC (rev 757) +++ trunk/cegcc/src/gcc/gcc/config/arm/pe-cxx.c 2006-10-30 21:53:29 UTC (rev 758) @@ -38,7 +38,8 @@ bool arm_pe_type_dllimport_p (tree decl) { - gcc_assert (TREE_CODE (decl) == VAR_DECL || TREE_CODE (decl) == FUNCTION_DECL); + gcc_assert (TREE_CODE (decl) == VAR_DECL + || TREE_CODE (decl) == FUNCTION_DECL); if (TARGET_NOP_FUN_DLLIMPORT && TREE_CODE (decl) == FUNCTION_DECL) return false; @@ -152,7 +153,7 @@ /* Check FUNCTION_DECL's. */ for (member = TYPE_METHODS (t); member; member = TREE_CHAIN (member)) - if (TREE_CODE (member) == FUNCTION_DECL) + if (TREE_CODE (member) == FUNCTION_DECL) maybe_add_dllimport (member); /* Check vtables */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2006-10-30 22:38:30
|
Revision: 758 http://svn.sourceforge.net/cegcc/?rev=758&view=rev Author: pedroalves Date: 2006-10-30 13:53:29 -0800 (Mon, 30 Oct 2006) Log Message: ----------- * config/arm/pe-cxx.c: Fix indenting to match the original config/i386/winnt-cxx.c. Modified Paths: -------------- trunk/cegcc/src/gcc/gcc/ChangeLog.ce trunk/cegcc/src/gcc/gcc/config/arm/pe-cxx.c This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2006-10-30 22:38:29
|
Revision: 759 http://svn.sourceforge.net/cegcc/?rev=759&view=rev Author: pedroalves Date: 2006-10-30 13:55:45 -0800 (Mon, 30 Oct 2006) Log Message: ----------- Just some formatting fixes. There should be no space before the colon. Modified Paths: -------------- trunk/cegcc/src/gcc/gcc/ChangeLog.ce This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2006-10-29 21:15:02
|
Revision: 757 http://svn.sourceforge.net/cegcc/?rev=757&view=rev Author: dannybackx Date: 2006-10-29 13:14:57 -0800 (Sun, 29 Oct 2006) Log Message: ----------- Use the arm-wince-cegcc target. Modified Paths: -------------- trunk/cegcc/test/Cplusplus/Makefile Modified: trunk/cegcc/test/Cplusplus/Makefile =================================================================== --- trunk/cegcc/test/Cplusplus/Makefile 2006-10-29 21:13:55 UTC (rev 756) +++ trunk/cegcc/test/Cplusplus/Makefile 2006-10-29 21:14:57 UTC (rev 757) @@ -1,10 +1,11 @@ -TARGET= arm-wince-pe +TARGET= arm-wince-cegcc CC= ${TARGET}-gcc CCC= ${TARGET}-g++ WINDRES= ${TARGET}-windres OBJDUMP= ${TARGET}-objdump DEBUG= -g CFLAGS= -D_WIN32_IE=0x0420 -D_WIN32_WCE=0x0400 ${DEBUG} -D_WINSOCKAPI_ +CXXFLAGS= -D_WIN32_IE=0x0420 -D_WIN32_WCE=0x0400 ${DEBUG} -D_WINSOCKAPI_ LDFLAGS= -lcommctrl ${CE_VERSION} CE_VERSION= -Wl,--major-subsystem-version,2,--minor-subsystem-version,0 @@ -21,10 +22,10 @@ .SUFFIXES: .cpp .C .exe .dllinfo .objdump .rsc .rc .cpp.o: - ${CCC} -c -o $@ $? + ${CCC} ${CXXFLAGS} -c -o $@ $? .cpp.exe: - ${CCC} -o $@ $? + ${CCC} ${CXXFLAGS} -o $@ $? .exe.objdump: ${OBJDUMP} -x $? >$@ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |