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...> - 2010-01-01 09:49:20
|
Revision: 1424 http://cegcc.svn.sourceforge.net/cegcc/?rev=1424&view=rev Author: dannybackx Date: 2010-01-01 09:49:12 +0000 (Fri, 01 Jan 2010) Log Message: ----------- Talk about supporting WM6.1 Modified Paths: -------------- trunk/cegcc/website/about.html trunk/cegcc/website/news.html Modified: trunk/cegcc/website/about.html =================================================================== --- trunk/cegcc/website/about.html 2010-01-01 09:39:34 UTC (rev 1423) +++ trunk/cegcc/website/about.html 2010-01-01 09:49:12 UTC (rev 1424) @@ -43,9 +43,10 @@ <li>i386-mingw32ce : toolset to build native Windows CE applications for x86 powered devices </ul> <P> -<font size="+4" color="red"><b>CeGCC 0.59.1 uses gcc 4.4.0</b></font> -<br> -The latest official release (0.55) is based on gcc 4.1.0. +<font size="+4" color="red"><b> + Windows Mobile 6.1 and higher supported now ! +</b></font> +(in the SVN version of arm-mingw32ce) <P> What's the meaning of <b>arm-cegcc</b> and <b>arm-mingw32ce</b> ? They both describe the target platform : Modified: trunk/cegcc/website/news.html =================================================================== --- trunk/cegcc/website/news.html 2010-01-01 09:39:34 UTC (rev 1423) +++ trunk/cegcc/website/news.html 2010-01-01 09:49:12 UTC (rev 1424) @@ -36,7 +36,13 @@ <A HREF="http://www.intel.com/technology/atom/index.htm">Intel Atom</A> processor (<A HREF="http://www.windowsfordevices.com/news/NS5466627119.html">CE on Atom</A>) <p> -<font size="+4" color="red"><b>CeGCC 0.59.1 uses gcc 4.4.0</b></font> -<br> -The latest official release (0.55) is based on gcc 4.1.0. +<font size="+4" color="red"><b> + Windows Mobile 6.1 and higher supported now ! +</b></font> +<p> +Older news : +<ul> + <li> CeGCC 0.59.1 uses gcc 4.4.0 + <li> The latest official release (0.55) is based on gcc 4.1.0. +</ul> </body> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2010-01-01 09:39:42
|
Revision: 1423 http://cegcc.svn.sourceforge.net/cegcc/?rev=1423&view=rev Author: dannybackx Date: 2010-01-01 09:39:34 +0000 (Fri, 01 Jan 2010) Log Message: ----------- Remove debug comment Modified Paths: -------------- trunk/cegcc/src/binutils/ChangeLog.ce trunk/cegcc/src/binutils/ld/scripttempl/pe.sc Modified: trunk/cegcc/src/binutils/ChangeLog.ce =================================================================== --- trunk/cegcc/src/binutils/ChangeLog.ce 2010-01-01 09:32:47 UTC (rev 1422) +++ trunk/cegcc/src/binutils/ChangeLog.ce 2010-01-01 09:39:34 UTC (rev 1423) @@ -1,3 +1,8 @@ +2010-01-01 Danny Backx <dan...@us...> + + ld/ + * scripttempl/pe.sc: Remove comment. + 2009-12-31 Pedro Alves <ped...@us...>, Danny Backx <dan...@us...> Modified: trunk/cegcc/src/binutils/ld/scripttempl/pe.sc =================================================================== --- trunk/cegcc/src/binutils/ld/scripttempl/pe.sc 2010-01-01 09:32:47 UTC (rev 1422) +++ trunk/cegcc/src/binutils/ld/scripttempl/pe.sc 2010-01-01 09:39:34 UTC (rev 1423) @@ -65,7 +65,6 @@ { ${RELOCATING+/* Make the virtual address and file offset synced if the alignment is} ${RELOCATING+ lower than the target page size. */} - ${RELOCATING+/* Yow pe.sc */} ${RELOCATING+. = SIZEOF_HEADERS;} ${RELOCATING+. = ALIGN(__section_alignment__);} .text ${RELOCATING+ __image_base__ + ( __section_alignment__ < ${TARGET_PAGE_SIZE} ? . : __section_alignment__ )} : This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2010-01-01 09:32:58
|
Revision: 1422 http://cegcc.svn.sourceforge.net/cegcc/?rev=1422&view=rev Author: dannybackx Date: 2010-01-01 09:32:47 +0000 (Fri, 01 Jan 2010) Log Message: ----------- scripttempl/pe.sc: Define __text_start__ and __text_end__. Modified Paths: -------------- trunk/cegcc/src/binutils/ChangeLog.ce trunk/cegcc/src/binutils/ld/scripttempl/pe.sc Modified: trunk/cegcc/src/binutils/ChangeLog.ce =================================================================== --- trunk/cegcc/src/binutils/ChangeLog.ce 2009-12-31 20:43:44 UTC (rev 1421) +++ trunk/cegcc/src/binutils/ChangeLog.ce 2010-01-01 09:32:47 UTC (rev 1422) @@ -1,3 +1,9 @@ +2009-12-31 Pedro Alves <ped...@us...>, + Danny Backx <dan...@us...> + + ld/ + * scripttempl/pe.sc: Define __text_start__ and __text_end__. + 2009-12-31 Pedro Alves <ped...@us...> ld/ Modified: trunk/cegcc/src/binutils/ld/scripttempl/pe.sc =================================================================== --- trunk/cegcc/src/binutils/ld/scripttempl/pe.sc 2009-12-31 20:43:44 UTC (rev 1421) +++ trunk/cegcc/src/binutils/ld/scripttempl/pe.sc 2010-01-01 09:32:47 UTC (rev 1422) @@ -70,6 +70,7 @@ ${RELOCATING+. = ALIGN(__section_alignment__);} .text ${RELOCATING+ __image_base__ + ( __section_alignment__ < ${TARGET_PAGE_SIZE} ? . : __section_alignment__ )} : { + ${RELOCATING+__text_start__ = .;} ${RELOCATING+ *(.init)} *(.text) ${R_TEXT} @@ -85,6 +86,7 @@ ${RELOCATING+ *(.gcc_exc)} ${RELOCATING+PROVIDE (etext = .);} ${RELOCATING+ *(.gcc_except_table)} + ${RELOCATING+__text_end__ = .;} } /* The Cygwin32 library uses a section to avoid copying certain data This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2009-12-31 20:43:50
|
Revision: 1421 http://cegcc.svn.sourceforge.net/cegcc/?rev=1421&view=rev Author: pedroalves Date: 2009-12-31 20:43:44 +0000 (Thu, 31 Dec 2009) Log Message: ----------- fix/normalize entries. Modified Paths: -------------- trunk/cegcc/src/binutils/ChangeLog.ce Modified: trunk/cegcc/src/binutils/ChangeLog.ce =================================================================== --- trunk/cegcc/src/binutils/ChangeLog.ce 2009-12-31 20:41:22 UTC (rev 1420) +++ trunk/cegcc/src/binutils/ChangeLog.ce 2009-12-31 20:43:44 UTC (rev 1421) @@ -1,14 +1,14 @@ 2009-12-31 Pedro Alves <ped...@us...> ld/ - emultempl/pe.em (NT_DLL_IMAGE_BASE) [TARGET_IS_arm_wince_pe]: + * emultempl/pe.em (NT_DLL_IMAGE_BASE) [TARGET_IS_arm_wince_pe]: Revert special casing. 2009-12-31 Pedro Alves <ped...@us...> bfd/ - peXXigen.c (_bfd_XXi_final_link_postscript): Fix import directory - size. Remove debug printfs. + * peXXigen.c (_bfd_XXi_final_link_postscript): Fix import + directory size. Remove debug printfs. 2009-12-28 Danny Backx <dan...@us...> @@ -59,23 +59,25 @@ * binutils/windres.c : Fix "windres can't detect architecture" problem again, after binutils 2.20 import. -2009-04-28 Alan Modra <am...@bi...> +2009-04-28 Alan Modra <am...@bi...> - * ld/deffilep.y (STACKSIZE_K): Rename from STACKSIZE. + ld/ + * deffilep.y (STACKSIZE_K): Rename from STACKSIZE. Fix upstream, invoked by Ismail Khatib <ik...@im...>. This should fix the problem. We add _K for quite a few tokens in ldgram.y, for exactly the same reason. Committed. -2009-02-08 Rikky <ri...@us...> +2009-02-08 Rikky <ri...@us...> - * binutils/windres.c : Fix [ 2574606 ] "windres can't detect + binutils/ + * windres.c : Fix [ 2574606 ] "windres can't detect architecture" problem. -2009-02-04 Pedro Alves <ped...@us...> +2009-02-04 Pedro Alves <ped...@us...> Merge from FSF head. -2008-12-19 mosfet <fo...@sm...> +2008-12-19 mosfet <fo...@sm...> binutils/ * rcparse.y: Allow extra comma at the end of data lists. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2009-12-31 20:41:29
|
Revision: 1420 http://cegcc.svn.sourceforge.net/cegcc/?rev=1420&view=rev Author: pedroalves Date: 2009-12-31 20:41:22 +0000 (Thu, 31 Dec 2009) Log Message: ----------- 2009-12-31 Pedro Alves <ped...@us...> ld/ emultempl/pe.em (NT_DLL_IMAGE_BASE) [TARGET_IS_arm_wince_pe]: Revert special casing. Modified Paths: -------------- trunk/cegcc/src/binutils/ChangeLog.ce trunk/cegcc/src/binutils/ld/emultempl/pe.em Modified: trunk/cegcc/src/binutils/ChangeLog.ce =================================================================== --- trunk/cegcc/src/binutils/ChangeLog.ce 2009-12-31 16:29:46 UTC (rev 1419) +++ trunk/cegcc/src/binutils/ChangeLog.ce 2009-12-31 20:41:22 UTC (rev 1420) @@ -1,44 +1,57 @@ -2009-12-31 Pedro Alves <ped...@us...> +2009-12-31 Pedro Alves <ped...@us...> + ld/ + emultempl/pe.em (NT_DLL_IMAGE_BASE) [TARGET_IS_arm_wince_pe]: + Revert special casing. + +2009-12-31 Pedro Alves <ped...@us...> + bfd/ peXXigen.c (_bfd_XXi_final_link_postscript): Fix import directory size. Remove debug printfs. 2009-12-28 Danny Backx <dan...@us...> - * ld/emultempl/pe.em: Change default to pseudo-relocation v2. - * ld/scripttempl/pe.sc: Move edata and idata section contents into the + ld/ + * emultempl/pe.em: Change default to pseudo-relocation v2. + * scripttempl/pe.sc: Move edata and idata section contents into the rdata section, and remove the edata and idata sections. - * ld/pe-dll.c (ERVA): Change macro definition to take edata section + * pe-dll.c (ERVA): Change macro definition to take edata section offset into account. - * bfd/cofflink.c: Remove commented out old command. - * bfd/peXXigen.c (_bfd_XXi_swap_aouthdr_out): Save and restore the - PE_EXPORT_TABLE field of DataDirectory too. - * ld/scripttempl/pe.sc: Add symbols __idata_start__, __idata_end__, + * scripttempl/pe.sc: Add symbols __idata_start__, __idata_end__, __edata_start__, __edata_end__ that _bfd_XXi_swap_aouthdr_out will look for. - * bfd/peXXigen.c (_bfd_XXi_swap_aouthdr_out): Get the newly defined + + bfd/ + * cofflink.c: Remove commented out old command. + * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Save and restore the + PE_EXPORT_TABLE field of DataDirectory too. + * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Get the newly defined symbols like __edata_start__ and use them to initialize the DataDirectory entries for PE_EXPORT_TABLE and PE_IMPORT_TABLE. 2009-12-15 Danny Backx <dan...@us...> - * bfd/pei-arm-wince.c (bfd_pe_print_pdata): Define so + bfd/ + * pei-arm-wince.c (bfd_pe_print_pdata): Define so _bfd_pe_print_ce_compressed_pdata gets called. 2009-12-06 Danny Backx <dan...@us...> - * ld/emultempl/pe.em, ld/scripttempl/armcoff.sc, + ld/ + * emultempl/pe.em, ld/scripttempl/armcoff.sc, ld/scripttempl/pep.sc, bfd/peXXigen.c: Work by Kai Tietz to fix so-called version 2 pseudo relocation. - * ld/scripttempl/pe.sc: port Kai's work to the pe.sc file. - * ld/scripttempl/pe.sc: move the BSS stuff inside the .data section + * scripttempl/pe.sc: port Kai's work to the pe.sc file. + * scripttempl/pe.sc: move the BSS stuff inside the .data section instead of in its own .bss . This appears to be a Windows Mobile 6.1 requirement. - * bfd/coff-arm.c, bfd/libpei.h: Avoid calling the + + bfd/ + * coff-arm.c, bfd/libpei.h: Avoid calling the coff_arm_final_link_postscript, we need bfd_coff_final_link_postscript. - * bfd/cofflink.c: Don't use bfd_coff_link_output_has_begun(), it forgets + * cofflink.c: Don't use bfd_coff_link_output_has_begun(), it forgets to output the debug_info field of the first file linked. 2009-10-20 Danny Backx <dan...@us...> Modified: trunk/cegcc/src/binutils/ld/emultempl/pe.em =================================================================== --- trunk/cegcc/src/binutils/ld/emultempl/pe.em 2009-12-31 16:29:46 UTC (rev 1419) +++ trunk/cegcc/src/binutils/ld/emultempl/pe.em 2009-12-31 20:41:22 UTC (rev 1420) @@ -118,13 +118,6 @@ #define PE_DEF_FILE_ALIGNMENT 0x00000200 #endif -#if defined(TARGET_IS_arm_wince_pe) -/* Windows CE ignores the image base, but we want to - be compatible with MSFT's tools. */ -#undef NT_DLL_IMAGE_BASE -#define NT_DLL_IMAGE_BASE 0x00010000 -#endif - #define U(S) ${INITIAL_SYMBOL_CHAR} S static struct internal_extra_pe_aouthdr pe; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2009-12-31 16:29:53
|
Revision: 1419 http://cegcc.svn.sourceforge.net/cegcc/?rev=1419&view=rev Author: pedroalves Date: 2009-12-31 16:29:46 +0000 (Thu, 31 Dec 2009) Log Message: ----------- 2009-12-31 Pedro Alves <ped...@us...> bfd/ peXXigen.c (_bfd_XXi_final_link_postscript): Fix import directory size. Remove debug printfs. Modified Paths: -------------- trunk/cegcc/src/binutils/ChangeLog.ce trunk/cegcc/src/binutils/bfd/peXXigen.c Modified: trunk/cegcc/src/binutils/ChangeLog.ce =================================================================== --- trunk/cegcc/src/binutils/ChangeLog.ce 2009-12-28 08:56:42 UTC (rev 1418) +++ trunk/cegcc/src/binutils/ChangeLog.ce 2009-12-31 16:29:46 UTC (rev 1419) @@ -1,3 +1,9 @@ +2009-12-31 Pedro Alves <ped...@us...> + + bfd/ + peXXigen.c (_bfd_XXi_final_link_postscript): Fix import directory + size. Remove debug printfs. + 2009-12-28 Danny Backx <dan...@us...> * ld/emultempl/pe.em: Change default to pseudo-relocation v2. Modified: trunk/cegcc/src/binutils/bfd/peXXigen.c =================================================================== --- trunk/cegcc/src/binutils/bfd/peXXigen.c 2009-12-28 08:56:42 UTC (rev 1418) +++ trunk/cegcc/src/binutils/bfd/peXXigen.c 2009-12-31 16:29:46 UTC (rev 1419) @@ -2429,21 +2429,28 @@ && pe_data (abfd)->pe_opthdr.DataDirectory[PE_IMPORT_TABLE].VirtualAddress == 0) { struct coff_link_hash_entry *h2; - int sz; h2 = coff_link_hash_lookup (coff_hash_table (info), "__idata_end__", FALSE, FALSE, TRUE); if (h2 != NULL) { - sz = (int) ((int)h2) - ((int)h1); + int a1, a2; + + a1 = h1->root.u.def.value + + h1->root.u.def.section->output_section->vma + + h1->root.u.def.section->output_offset + - pe_data (abfd)->pe_opthdr.ImageBase; + a2 = h2->root.u.def.value + + h2->root.u.def.section->output_section->vma + + h2->root.u.def.section->output_offset + - pe_data (abfd)->pe_opthdr.ImageBase; + pe_data (abfd)->pe_opthdr.DataDirectory[PE_IMPORT_TABLE].VirtualAddress = h1->root.u.def.value + h1->root.u.def.section->output_section->vma + h1->root.u.def.section->output_offset - pe_data (abfd)->pe_opthdr.ImageBase; - pe_data (abfd)->pe_opthdr.DataDirectory[PE_IMPORT_TABLE].Size = sz; - -// fprintf(stderr, "Yow import %p 0x%04x\n", (void *)pe_data (abfd)->pe_opthdr.DataDirectory[PE_IMPORT_TABLE].VirtualAddress, sz); + pe_data (abfd)->pe_opthdr.DataDirectory[PE_IMPORT_TABLE].Size = a2 - a1; } else { @@ -2477,8 +2484,6 @@ pe_data (abfd)->pe_opthdr.DataDirectory[PE_EXPORT_TABLE].VirtualAddress = a1; pe_data (abfd)->pe_opthdr.DataDirectory[PE_EXPORT_TABLE].Size = a2 - a1; - -// fprintf(stderr, "Yow export %p 0x%04x\n", (void *)pe_data (abfd)->pe_opthdr.DataDirectory[PE_EXPORT_TABLE].VirtualAddress, a2-a1); } else { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2009-12-28 08:56:51
|
Revision: 1418 http://cegcc.svn.sourceforge.net/cegcc/?rev=1418&view=rev Author: dannybackx Date: 2009-12-28 08:56:42 +0000 (Mon, 28 Dec 2009) Log Message: ----------- * ld/emultempl/pe.em: Change default to pseudo-relocation v2. * ld/scripttempl/pe.sc: Move edata and idata section contents into the rdata section, and remove the edata and idata sections. * ld/pe-dll.c (ERVA): Change macro definition to take edata section offset into account. * bfd/cofflink.c: Remove commented out old command. * bfd/peXXigen.c (_bfd_XXi_swap_aouthdr_out): Save and restore the PE_EXPORT_TABLE field of DataDirectory too. * ld/scripttempl/pe.sc: Add symbols __idata_start__, __idata_end__, __edata_start__, __edata_end__ that _bfd_XXi_swap_aouthdr_out will look for. * bfd/peXXigen.c (_bfd_XXi_swap_aouthdr_out): Get the newly defined symbols like __edata_start__ and use them to initialize the DataDirectory entries for PE_EXPORT_TABLE and PE_IMPORT_TABLE. Modified Paths: -------------- trunk/cegcc/src/binutils/ChangeLog.ce trunk/cegcc/src/binutils/bfd/cofflink.c trunk/cegcc/src/binutils/bfd/peXXigen.c trunk/cegcc/src/binutils/ld/emultempl/pe.em trunk/cegcc/src/binutils/ld/pe-dll.c trunk/cegcc/src/binutils/ld/scripttempl/pe.sc Modified: trunk/cegcc/src/binutils/ChangeLog.ce =================================================================== --- trunk/cegcc/src/binutils/ChangeLog.ce 2009-12-15 16:12:18 UTC (rev 1417) +++ trunk/cegcc/src/binutils/ChangeLog.ce 2009-12-28 08:56:42 UTC (rev 1418) @@ -1,3 +1,20 @@ +2009-12-28 Danny Backx <dan...@us...> + + * ld/emultempl/pe.em: Change default to pseudo-relocation v2. + * ld/scripttempl/pe.sc: Move edata and idata section contents into the + rdata section, and remove the edata and idata sections. + * ld/pe-dll.c (ERVA): Change macro definition to take edata section + offset into account. + * bfd/cofflink.c: Remove commented out old command. + * bfd/peXXigen.c (_bfd_XXi_swap_aouthdr_out): Save and restore the + PE_EXPORT_TABLE field of DataDirectory too. + * ld/scripttempl/pe.sc: Add symbols __idata_start__, __idata_end__, + __edata_start__, __edata_end__ that _bfd_XXi_swap_aouthdr_out will + look for. + * bfd/peXXigen.c (_bfd_XXi_swap_aouthdr_out): Get the newly defined + symbols like __edata_start__ and use them to initialize the + DataDirectory entries for PE_EXPORT_TABLE and PE_IMPORT_TABLE. + 2009-12-15 Danny Backx <dan...@us...> * bfd/pei-arm-wince.c (bfd_pe_print_pdata): Define so Modified: trunk/cegcc/src/binutils/bfd/cofflink.c =================================================================== --- trunk/cegcc/src/binutils/bfd/cofflink.c 2009-12-15 16:12:18 UTC (rev 1417) +++ trunk/cegcc/src/binutils/bfd/cofflink.c 2009-12-28 08:56:42 UTC (rev 1418) @@ -902,7 +902,7 @@ && bfd_family_coff (p->u.indirect.section->owner)) { sub = p->u.indirect.section->owner; -// if (! bfd_coff_link_output_has_begun (sub, & finfo)) + if (! sub->output_has_begun) { if (! _bfd_coff_link_input_bfd (&finfo, sub)) Modified: trunk/cegcc/src/binutils/bfd/peXXigen.c =================================================================== --- trunk/cegcc/src/binutils/bfd/peXXigen.c 2009-12-15 16:12:18 UTC (rev 1417) +++ trunk/cegcc/src/binutils/bfd/peXXigen.c 2009-12-28 08:56:42 UTC (rev 1418) @@ -92,6 +92,7 @@ the code is in peigen.c. PowerPC NT is said to be dead. If anybody wants to revive the code, you will have to figure out how to handle those issues. */ + void _bfd_XXi_swap_sym_in (bfd * abfd, void * ext1, void * in1) @@ -548,13 +549,14 @@ struct internal_extra_pe_aouthdr *extra = &pe->pe_opthdr; PEAOUTHDR *aouthdr_out = (PEAOUTHDR *) out; bfd_vma sa, fa, ib; - IMAGE_DATA_DIRECTORY idata2, idata5, tls; + IMAGE_DATA_DIRECTORY idata2, idata5, tls, xport; sa = extra->SectionAlignment; fa = extra->FileAlignment; ib = extra->ImageBase; idata2 = pe->pe_opthdr.DataDirectory[PE_IMPORT_TABLE]; + xport = pe->pe_opthdr.DataDirectory[PE_EXPORT_TABLE]; idata5 = pe->pe_opthdr.DataDirectory[PE_IMPORT_ADDRESS_TABLE]; tls = pe->pe_opthdr.DataDirectory[PE_TLS_TABLE]; @@ -606,6 +608,7 @@ So - we copy the input values into the output values, and then, if a final link is going to be performed, it can overwrite them. */ + extra->DataDirectory[PE_EXPORT_TABLE] = xport; extra->DataDirectory[PE_IMPORT_TABLE] = idata2; extra->DataDirectory[PE_IMPORT_ADDRESS_TABLE] = idata5; extra->DataDirectory[PE_TLS_TABLE] = tls; @@ -1583,6 +1586,9 @@ covers and the address of the corresponding unwind info data. On ARM and SH-4, a compressed PDATA structure is used : +#undef bfd_pe_print_pdata +#define bfd_pe_print_pdata _bfd_pe_print_ce_compressed_pdata + _IMAGE_CE_RUNTIME_FUNCTION_ENTRY, whereas MIPS is documented to use _IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY. See http://msdn2.microsoft.com/en-us/library/ms253988(VS.80).aspx . @@ -2417,8 +2423,76 @@ pe_data (abfd)->pe_opthdr.DataDirectory[PE_TLS_TABLE].Size = 0x18; } + h1 = coff_link_hash_lookup (coff_hash_table (info), + "__idata_start__", FALSE, FALSE, TRUE); + if (h1 != NULL + && pe_data (abfd)->pe_opthdr.DataDirectory[PE_IMPORT_TABLE].VirtualAddress == 0) + { + struct coff_link_hash_entry *h2; + int sz; + + h2 = coff_link_hash_lookup (coff_hash_table (info), + "__idata_end__", FALSE, FALSE, TRUE); + if (h2 != NULL) + { + sz = (int) ((int)h2) - ((int)h1); + pe_data (abfd)->pe_opthdr.DataDirectory[PE_IMPORT_TABLE].VirtualAddress = + h1->root.u.def.value + + h1->root.u.def.section->output_section->vma + + h1->root.u.def.section->output_offset + - pe_data (abfd)->pe_opthdr.ImageBase; + pe_data (abfd)->pe_opthdr.DataDirectory[PE_IMPORT_TABLE].Size = sz; + +// fprintf(stderr, "Yow import %p 0x%04x\n", (void *)pe_data (abfd)->pe_opthdr.DataDirectory[PE_IMPORT_TABLE].VirtualAddress, sz); + } + else + { + _bfd_error_handler + (_("%B: unable to fill in DataDictionary[0] because __idata_end__ is missing"), + abfd); + result = FALSE; + } + } + + h1 = coff_link_hash_lookup (coff_hash_table (info), + "__edata_start__", FALSE, FALSE, TRUE); + if (h1 != NULL + && pe_data (abfd)->pe_opthdr.DataDirectory[PE_EXPORT_TABLE].VirtualAddress == 0) + { + struct coff_link_hash_entry *h2; + + h2 = coff_link_hash_lookup (coff_hash_table (info), + "__edata_end__", FALSE, FALSE, TRUE); + if (h2 != NULL) + { + int a1, a2; + a1 = h1->root.u.def.value + + h1->root.u.def.section->output_section->vma + + h1->root.u.def.section->output_offset + - pe_data (abfd)->pe_opthdr.ImageBase; + a2 = h2->root.u.def.value + + h2->root.u.def.section->output_section->vma + + h2->root.u.def.section->output_offset + - pe_data (abfd)->pe_opthdr.ImageBase; + + pe_data (abfd)->pe_opthdr.DataDirectory[PE_EXPORT_TABLE].VirtualAddress = a1; + pe_data (abfd)->pe_opthdr.DataDirectory[PE_EXPORT_TABLE].Size = a2 - a1; + +// fprintf(stderr, "Yow export %p 0x%04x\n", (void *)pe_data (abfd)->pe_opthdr.DataDirectory[PE_EXPORT_TABLE].VirtualAddress, a2-a1); + } + else + { + _bfd_error_handler + (_("%B: unable to fill in DataDictionary[0] because __edata_end__ is missing"), + abfd); + result = FALSE; + } + + } + /* If we couldn't find idata$2, we either have an excessively trivial program or are in DEEP trouble; we have to assume trivial program.... */ + return result; } Modified: trunk/cegcc/src/binutils/ld/emultempl/pe.em =================================================================== --- trunk/cegcc/src/binutils/ld/emultempl/pe.em 2009-12-15 16:12:18 UTC (rev 1417) +++ trunk/cegcc/src/binutils/ld/emultempl/pe.em 2009-12-28 08:56:42 UTC (rev 1418) @@ -728,7 +728,7 @@ link_info.pei386_auto_import = 0; break; case OPTION_DLL_ENABLE_RUNTIME_PSEUDO_RELOC: - link_info.pei386_runtime_pseudo_reloc = 1; + link_info.pei386_runtime_pseudo_reloc = 2; break; case OPTION_DLL_ENABLE_RUNTIME_PSEUDO_RELOC_V1: link_info.pei386_runtime_pseudo_reloc = 1; Modified: trunk/cegcc/src/binutils/ld/pe-dll.c =================================================================== --- trunk/cegcc/src/binutils/ld/pe-dll.c 2009-12-15 16:12:18 UTC (rev 1417) +++ trunk/cegcc/src/binutils/ld/pe-dll.c 2009-12-28 08:56:42 UTC (rev 1418) @@ -1092,6 +1092,7 @@ int i; struct bfd_link_hash_entry *blhe; +// fprintf(stderr, "Yow fill_exported_offsets(%p %s,%p)\n", abfd, abfd->filename, info); for (i = 0; i < pe_def_file->num_exports; i++) { char *name; @@ -1140,7 +1141,7 @@ enamestr = (char *) eordinals + 2 * count_exported_byname; #define ERVA(ptr) (((unsigned char *)(ptr) - edata_d) \ - + edata_s->output_section->vma - image_base) + + edata_s->output_section->vma - image_base + edata_s->output_offset) memset (edata_d, 0, edata_sz); bfd_put_32 (abfd, now, edata_d + 4); Modified: trunk/cegcc/src/binutils/ld/scripttempl/pe.sc =================================================================== --- trunk/cegcc/src/binutils/ld/scripttempl/pe.sc 2009-12-15 16:12:18 UTC (rev 1417) +++ trunk/cegcc/src/binutils/ld/scripttempl/pe.sc 2009-12-28 08:56:42 UTC (rev 1418) @@ -113,18 +113,36 @@ .rdata ${RELOCATING+BLOCK(__section_alignment__)} : { + /* Start original .rdata */ ${R_RDATA} ${RELOCATING+___RUNTIME_PSEUDO_RELOC_LIST__ = .;} ${RELOCATING+__RUNTIME_PSEUDO_RELOC_LIST__ = .;} *(.rdata_runtime_pseudo_reloc) ${RELOCATING+___RUNTIME_PSEUDO_RELOC_LIST_END__ = .;} ${RELOCATING+__RUNTIME_PSEUDO_RELOC_LIST_END__ = .;} + /* End original .rdata */ + ${RELOCATING+. = ALIGN(16);} + /* Moved .edata */ + ${RELOCATING+__edata_start__ = .;} + *(.edata) + ${RELOCATING+__edata_end__ = .;} /* End moved .edata */ + + ${RELOCATING+. = ALIGN(16);} + /* Moved .idata */ - /* Moving idata appears to cause a crash even in d2.exe */ + /* This cannot currently be handled with grouped sections. + See pe.em:sort_sections. */ + ${RELOCATING+__idata_start__ = .;} + ${R_IDATA234} + ${RELOCATING+__idata5_start__ = .;} + ${R_IDATA5} + ${RELOCATING+__idata5_end__ = .;} + ${R_IDATA67} + ${RELOCATING+__idata_end__ = .;} /* End moved .idata */ } @@ -138,11 +156,6 @@ *(.pdata) } - .edata ${RELOCATING+BLOCK(__section_alignment__)} : - { - *(.edata) - } - /DISCARD/ : { *(.debug\$S) @@ -151,17 +164,6 @@ *(.drectve) } - .idata ${RELOCATING+BLOCK(__section_alignment__)} : - { - /* This cannot currently be handled with grouped sections. - See pe.em:sort_sections. */ - ${R_IDATA234} - ${RELOCATING+__idata5_start__ = .;} - ${R_IDATA5} - ${RELOCATING+__idata5_end__ = .;} - ${R_IDATA67} - } - .CRT ${RELOCATING+BLOCK(__section_alignment__)} : { ${RELOCATING+___crt_xc_start__ = . ;} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2009-12-15 16:12:26
|
Revision: 1417 http://cegcc.svn.sourceforge.net/cegcc/?rev=1417&view=rev Author: dannybackx Date: 2009-12-15 16:12:18 +0000 (Tue, 15 Dec 2009) Log Message: ----------- Get the right exception handler structure printed. Modified Paths: -------------- trunk/cegcc/src/binutils/ChangeLog.ce trunk/cegcc/src/binutils/bfd/pei-arm-wince.c Modified: trunk/cegcc/src/binutils/ChangeLog.ce =================================================================== --- trunk/cegcc/src/binutils/ChangeLog.ce 2009-12-12 14:44:02 UTC (rev 1416) +++ trunk/cegcc/src/binutils/ChangeLog.ce 2009-12-15 16:12:18 UTC (rev 1417) @@ -1,3 +1,8 @@ +2009-12-15 Danny Backx <dan...@us...> + + * bfd/pei-arm-wince.c (bfd_pe_print_pdata): Define so + _bfd_pe_print_ce_compressed_pdata gets called. + 2009-12-06 Danny Backx <dan...@us...> * ld/emultempl/pe.em, ld/scripttempl/armcoff.sc, Modified: trunk/cegcc/src/binutils/bfd/pei-arm-wince.c =================================================================== --- trunk/cegcc/src/binutils/bfd/pei-arm-wince.c 2009-12-12 14:44:02 UTC (rev 1416) +++ trunk/cegcc/src/binutils/bfd/pei-arm-wince.c 2009-12-15 16:12:18 UTC (rev 1417) @@ -28,4 +28,7 @@ #define LOCAL_LABEL_PREFIX "." +#undef bfd_pe_print_pdata +#define bfd_pe_print_pdata _bfd_pe_print_ce_compressed_pdata + #include "pei-arm.c" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2009-12-12 14:44:08
|
Revision: 1416 http://cegcc.svn.sourceforge.net/cegcc/?rev=1416&view=rev Author: pedroalves Date: 2009-12-12 14:44:02 +0000 (Sat, 12 Dec 2009) Log Message: ----------- 2009-12-12 Pedro Alves <ped...@us...> * TestClient/Makefile (TARGET): Default to arm-mingw32ce. * PipeTest/Makefile (TARGET): Default to arm-mingw32ce. Modified Paths: -------------- trunk/cegcc/tools/PipeLib/ChangeLog trunk/cegcc/tools/PipeLib/PipeTest/Makefile trunk/cegcc/tools/PipeLib/TestClient/Makefile Modified: trunk/cegcc/tools/PipeLib/ChangeLog =================================================================== --- trunk/cegcc/tools/PipeLib/ChangeLog 2009-12-12 14:41:34 UTC (rev 1415) +++ trunk/cegcc/tools/PipeLib/ChangeLog 2009-12-12 14:44:02 UTC (rev 1416) @@ -1,5 +1,10 @@ 2009-12-12 Pedro Alves <ped...@us...> + * TestClient/Makefile (TARGET): Default to arm-mingw32ce. + * PipeTest/Makefile (TARGET): Default to arm-mingw32ce. + +2009-12-12 Pedro Alves <ped...@us...> + * Makefile (TARGET): Default to arm-mingw32ce. * PipeDev.cpp (LOG, LOGSCOPE): Avoid empty statement. Modified: trunk/cegcc/tools/PipeLib/PipeTest/Makefile =================================================================== --- trunk/cegcc/tools/PipeLib/PipeTest/Makefile 2009-12-12 14:41:34 UTC (rev 1415) +++ trunk/cegcc/tools/PipeLib/PipeTest/Makefile 2009-12-12 14:44:02 UTC (rev 1416) @@ -1,4 +1,4 @@ -TARGET=arm-wince-mingw32ce +TARGET=arm-mingw32ce CXX=$(TARGET)-g++ AR=$(TARGET)-ar Modified: trunk/cegcc/tools/PipeLib/TestClient/Makefile =================================================================== --- trunk/cegcc/tools/PipeLib/TestClient/Makefile 2009-12-12 14:41:34 UTC (rev 1415) +++ trunk/cegcc/tools/PipeLib/TestClient/Makefile 2009-12-12 14:44:02 UTC (rev 1416) @@ -1,4 +1,4 @@ -TARGET=arm-wince-mingw32ce +TARGET=arm-mingw32ce CXX=$(TARGET)-g++ AR=$(TARGET)-ar This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2009-12-12 14:41:40
|
Revision: 1415 http://cegcc.svn.sourceforge.net/cegcc/?rev=1415&view=rev Author: pedroalves Date: 2009-12-12 14:41:34 +0000 (Sat, 12 Dec 2009) Log Message: ----------- 2009-12-12 Pedro Alves <ped...@us...> * Makefile (TARGET): Default to arm-mingw32ce. Modified Paths: -------------- trunk/cegcc/tools/abicheck/ChangeLog trunk/cegcc/tools/abicheck/Makefile Modified: trunk/cegcc/tools/abicheck/ChangeLog =================================================================== --- trunk/cegcc/tools/abicheck/ChangeLog 2009-12-12 14:40:02 UTC (rev 1414) +++ trunk/cegcc/tools/abicheck/ChangeLog 2009-12-12 14:41:34 UTC (rev 1415) @@ -1,3 +1,7 @@ +2009-12-12 Pedro Alves <ped...@us...> + + * Makefile (TARGET): Default to arm-mingw32ce. + 2007-11-18 Pedro Alves <ped...@po...> Initial release. Modified: trunk/cegcc/tools/abicheck/Makefile =================================================================== --- trunk/cegcc/tools/abicheck/Makefile 2009-12-12 14:40:02 UTC (rev 1414) +++ trunk/cegcc/tools/abicheck/Makefile 2009-12-12 14:41:34 UTC (rev 1415) @@ -1,4 +1,4 @@ -TARGET=arm-wince-mingw32ce +TARGET=arm-mingw32ce CXX=$(TARGET)-g++ STRIP=$(TARGET)-strip CXXFLAGS=-O3 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2009-12-12 14:40:18
|
Revision: 1414 http://cegcc.svn.sourceforge.net/cegcc/?rev=1414&view=rev Author: pedroalves Date: 2009-12-12 14:40:02 +0000 (Sat, 12 Dec 2009) Log Message: ----------- 2009-12-12 Pedro Alves <ped...@us...> * Makefile (TARGET): Default to arm-mingw32ce. Modified Paths: -------------- trunk/cegcc/tools/rcp2/ChangeLog trunk/cegcc/tools/rcp2/Makefile Modified: trunk/cegcc/tools/rcp2/ChangeLog =================================================================== --- trunk/cegcc/tools/rcp2/ChangeLog 2009-12-12 14:34:40 UTC (rev 1413) +++ trunk/cegcc/tools/rcp2/ChangeLog 2009-12-12 14:40:02 UTC (rev 1414) @@ -1,3 +1,7 @@ +2009-12-12 Pedro Alves <ped...@us...> + + * Makefile (TARGET): Default to arm-mingw32ce. + 2007-09-03 Pedro Alves <ped...@po...> Initial import. Modified: trunk/cegcc/tools/rcp2/Makefile =================================================================== --- trunk/cegcc/tools/rcp2/Makefile 2009-12-12 14:34:40 UTC (rev 1413) +++ trunk/cegcc/tools/rcp2/Makefile 2009-12-12 14:40:02 UTC (rev 1414) @@ -1,4 +1,4 @@ -TARGET=arm-wince-mingw32ce +TARGET=arm-mingw32ce CFLAGS=-O0 -g3 WARNFLAGS=-Wall -Wextra This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2009-12-12 14:34:48
|
Revision: 1413 http://cegcc.svn.sourceforge.net/cegcc/?rev=1413&view=rev Author: pedroalves Date: 2009-12-12 14:34:40 +0000 (Sat, 12 Dec 2009) Log Message: ----------- 2009-12-12 Pedro Alves <ped...@us...> * Makefile (TARGET): Default to arm-mingw32ce. Modified Paths: -------------- trunk/cegcc/tools/errno/ChangeLog trunk/cegcc/tools/errno/Makefile Modified: trunk/cegcc/tools/errno/ChangeLog =================================================================== --- trunk/cegcc/tools/errno/ChangeLog 2009-12-12 14:33:23 UTC (rev 1412) +++ trunk/cegcc/tools/errno/ChangeLog 2009-12-12 14:34:40 UTC (rev 1413) @@ -1,3 +1,7 @@ +2009-12-12 Pedro Alves <ped...@us...> + + * Makefile (TARGET): Default to arm-mingw32ce. + 2007-06-25 Pedro Alves <ped...@po...> Initial import. Modified: trunk/cegcc/tools/errno/Makefile =================================================================== --- trunk/cegcc/tools/errno/Makefile 2009-12-12 14:33:23 UTC (rev 1412) +++ trunk/cegcc/tools/errno/Makefile 2009-12-12 14:34:40 UTC (rev 1413) @@ -1,4 +1,4 @@ -TARGET=arm-wince-mingw32ce +TARGET=arm-mingw32ce CC=$(TARGET)-gcc AR=$(TARGET)-ar This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2009-12-12 14:33:31
|
Revision: 1412 http://cegcc.svn.sourceforge.net/cegcc/?rev=1412&view=rev Author: pedroalves Date: 2009-12-12 14:33:23 +0000 (Sat, 12 Dec 2009) Log Message: ----------- 2009-12-12 Pedro Alves <ped...@us...> * Makefile (TARGET): Default to arm-mingw32ce. Modified Paths: -------------- trunk/cegcc/tools/rcp/ChangeLog trunk/cegcc/tools/rcp/Makefile Modified: trunk/cegcc/tools/rcp/ChangeLog =================================================================== --- trunk/cegcc/tools/rcp/ChangeLog 2009-12-12 14:32:29 UTC (rev 1411) +++ trunk/cegcc/tools/rcp/ChangeLog 2009-12-12 14:33:23 UTC (rev 1412) @@ -1,3 +1,7 @@ +2009-12-12 Pedro Alves <ped...@us...> + + * Makefile (TARGET): Default to arm-mingw32ce. + 2007-07-01 Pedro Alves <ped...@po...> * rcp.c (LogThread): Use Sleep instead of WaitForSingleObject. Modified: trunk/cegcc/tools/rcp/Makefile =================================================================== --- trunk/cegcc/tools/rcp/Makefile 2009-12-12 14:32:29 UTC (rev 1411) +++ trunk/cegcc/tools/rcp/Makefile 2009-12-12 14:33:23 UTC (rev 1412) @@ -1,4 +1,4 @@ -TARGET=arm-wince-mingw32ce +TARGET=arm-mingw32ce CFLAGS=-O0 -g3 WARNFLAGS=-Wall -Wextra This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2009-12-12 14:32:36
|
Revision: 1411 http://cegcc.svn.sourceforge.net/cegcc/?rev=1411&view=rev Author: pedroalves Date: 2009-12-12 14:32:29 +0000 (Sat, 12 Dec 2009) Log Message: ----------- 2009-12-12 Pedro Alves <ped...@us...> * Makefile (TARGET): Default to arm-mingw32ce. Modified Paths: -------------- trunk/cegcc/tools/libcwd/ChangeLog trunk/cegcc/tools/libcwd/Makefile Modified: trunk/cegcc/tools/libcwd/ChangeLog =================================================================== --- trunk/cegcc/tools/libcwd/ChangeLog 2009-12-12 14:30:58 UTC (rev 1410) +++ trunk/cegcc/tools/libcwd/ChangeLog 2009-12-12 14:32:29 UTC (rev 1411) @@ -1,3 +1,7 @@ +2009-12-12 Pedro Alves <ped...@us...> + + * Makefile (TARGET): Default to arm-mingw32ce. + 2007-09-02 Pedro Alves <ped...@po...> * cwd.h (libcwd_fixpath): Declare. Modified: trunk/cegcc/tools/libcwd/Makefile =================================================================== --- trunk/cegcc/tools/libcwd/Makefile 2009-12-12 14:30:58 UTC (rev 1410) +++ trunk/cegcc/tools/libcwd/Makefile 2009-12-12 14:32:29 UTC (rev 1411) @@ -1,4 +1,4 @@ -TARGET=arm-wince-mingw32ce +TARGET=arm-mingw32ce LDFLAGS= INCLUDES=-I. CFLAGS=-O0 -g3 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2009-12-12 14:31:14
|
Revision: 1410 http://cegcc.svn.sourceforge.net/cegcc/?rev=1410&view=rev Author: pedroalves Date: 2009-12-12 14:30:58 +0000 (Sat, 12 Dec 2009) Log Message: ----------- 2009-12-12 Pedro Alves <ped...@us...> * Makefile (TARGET): Default to arm-mingw32ce. * PipeDev.cpp (LOG, LOGSCOPE): Avoid empty statement. Modified Paths: -------------- trunk/cegcc/tools/PipeLib/ChangeLog trunk/cegcc/tools/PipeLib/Makefile trunk/cegcc/tools/PipeLib/PipeDev.cpp Modified: trunk/cegcc/tools/PipeLib/ChangeLog =================================================================== --- trunk/cegcc/tools/PipeLib/ChangeLog 2009-12-12 14:28:28 UTC (rev 1409) +++ trunk/cegcc/tools/PipeLib/ChangeLog 2009-12-12 14:30:58 UTC (rev 1410) @@ -1,3 +1,8 @@ +2009-12-12 Pedro Alves <ped...@us...> + + * Makefile (TARGET): Default to arm-mingw32ce. + * PipeDev.cpp (LOG, LOGSCOPE): Avoid empty statement. + 2007-09-02 Pedro Alves <ped...@po...> * PipeLib.cpp (Read): Switch to IsBadWritePtr. Only set last Modified: trunk/cegcc/tools/PipeLib/Makefile =================================================================== --- trunk/cegcc/tools/PipeLib/Makefile 2009-12-12 14:28:28 UTC (rev 1409) +++ trunk/cegcc/tools/PipeLib/Makefile 2009-12-12 14:30:58 UTC (rev 1410) @@ -1,4 +1,4 @@ -TARGET=arm-wince-mingw32ce +TARGET=arm-mingw32ce CXX=$(TARGET)-g++ AR=$(TARGET)-ar Modified: trunk/cegcc/tools/PipeLib/PipeDev.cpp =================================================================== --- trunk/cegcc/tools/PipeLib/PipeDev.cpp 2009-12-12 14:28:28 UTC (rev 1409) +++ trunk/cegcc/tools/PipeLib/PipeDev.cpp 2009-12-12 14:30:58 UTC (rev 1410) @@ -112,8 +112,8 @@ # define LOG(MSG, ...) LogMessage (__FUNCTION__, __LINE__, MSG, ## __VA_ARGS__) # define LOGSCOPE(MSG) LogScope scope ## __LINE__(__FUNCTION__, MSG) #else -# define LOG(MSG, ...) do; while (0) -# define LOGSCOPE(MSG) do; while (0) +# define LOG(MSG, ...) do {} while (0) +# define LOGSCOPE(MSG) do {} while (0) #endif class CSWrapper This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2009-12-12 14:28:37
|
Revision: 1409 http://cegcc.svn.sourceforge.net/cegcc/?rev=1409&view=rev Author: pedroalves Date: 2009-12-12 14:28:28 +0000 (Sat, 12 Dec 2009) Log Message: ----------- 2009-12-12 Pedro Alves <ped...@us...> * rshd.c (create_child): Delete unused variable. (handle_connection): Correct type of local variable. Modified Paths: -------------- trunk/cegcc/tools/rshd/ChangeLog trunk/cegcc/tools/rshd/rshd.c Modified: trunk/cegcc/tools/rshd/ChangeLog =================================================================== --- trunk/cegcc/tools/rshd/ChangeLog 2009-12-12 14:25:23 UTC (rev 1408) +++ trunk/cegcc/tools/rshd/ChangeLog 2009-12-12 14:28:28 UTC (rev 1409) @@ -1,5 +1,10 @@ 2009-12-12 Pedro Alves <ped...@us...> + * rshd.c (create_child): Delete unused variable. + (handle_connection): Correct type of local variable. + +2009-12-12 Pedro Alves <ped...@us...> + * Makefile (TARGET): Default to arm-mingw32ce. 2007-09-08 Pedro Alves <ped...@po...> Modified: trunk/cegcc/tools/rshd/rshd.c =================================================================== --- trunk/cegcc/tools/rshd/rshd.c 2009-12-12 14:25:23 UTC (rev 1408) +++ trunk/cegcc/tools/rshd/rshd.c 2009-12-12 14:28:28 UTC (rev 1409) @@ -562,7 +562,6 @@ /* Close the previously succeeded pipes. */ for (j = 0; j < i; j++) { - wchar_t devname[MAX_PATH]; SafeCloseHandle (&child->readh[j]); SafeCloseHandle (&child->writeh[j]); } @@ -914,7 +913,7 @@ && (GetExitCodeThread (h, &ec) && ec == 1)); { - int m; + size_t m; const struct { HANDLE h; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2009-12-12 14:25:35
|
Revision: 1408 http://cegcc.svn.sourceforge.net/cegcc/?rev=1408&view=rev Author: pedroalves Date: 2009-12-12 14:25:23 +0000 (Sat, 12 Dec 2009) Log Message: ----------- 2009-12-12 Pedro Alves <ped...@us...> * Makefile (TARGET): Default to arm-mingw32ce. Modified Paths: -------------- trunk/cegcc/tools/rshd/ChangeLog trunk/cegcc/tools/rshd/Makefile Modified: trunk/cegcc/tools/rshd/ChangeLog =================================================================== --- trunk/cegcc/tools/rshd/ChangeLog 2009-12-11 11:50:03 UTC (rev 1407) +++ trunk/cegcc/tools/rshd/ChangeLog 2009-12-12 14:25:23 UTC (rev 1408) @@ -1,3 +1,7 @@ +2009-12-12 Pedro Alves <ped...@us...> + + * Makefile (TARGET): Default to arm-mingw32ce. + 2007-09-08 Pedro Alves <ped...@po...> * rshd.c (create_child): On pipe creation failure, close the pipes Modified: trunk/cegcc/tools/rshd/Makefile =================================================================== --- trunk/cegcc/tools/rshd/Makefile 2009-12-11 11:50:03 UTC (rev 1407) +++ trunk/cegcc/tools/rshd/Makefile 2009-12-12 14:25:23 UTC (rev 1408) @@ -1,4 +1,4 @@ -TARGET=arm-wince-mingw32ce +TARGET=arm-mingw32ce LDFLAGS= CFLAGS=-O0 -g3 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2009-12-11 11:50:09
|
Revision: 1407 http://cegcc.svn.sourceforge.net/cegcc/?rev=1407&view=rev Author: pedroalves Date: 2009-12-11 11:50:03 +0000 (Fri, 11 Dec 2009) Log Message: ----------- 2009-12-11 Pedro Alves <ped...@us...> SF #2901705 * winmain_ce.c (_parse_tokens, __mainArgs): Fix memory allocation and properly null terminate argv. Modified Paths: -------------- trunk/cegcc/src/mingw/ChangeLog.mingw32ce trunk/cegcc/src/mingw/winmain_ce.c Modified: trunk/cegcc/src/mingw/ChangeLog.mingw32ce =================================================================== --- trunk/cegcc/src/mingw/ChangeLog.mingw32ce 2009-12-10 12:55:31 UTC (rev 1406) +++ trunk/cegcc/src/mingw/ChangeLog.mingw32ce 2009-12-11 11:50:03 UTC (rev 1407) @@ -1,3 +1,10 @@ +2009-12-11 Pedro Alves <ped...@us...> + + SF #2901705 + + * winmain_ce.c (_parse_tokens, __mainArgs): Fix memory allocation + and properly null terminate argv. + 2009-12-10 Pedro Alves <ped...@us...> * mingwex/wince/stat.c: Fix indentation. Modified: trunk/cegcc/src/mingw/winmain_ce.c =================================================================== --- trunk/cegcc/src/mingw/winmain_ce.c 2009-12-10 12:55:31 UTC (rev 1406) +++ trunk/cegcc/src/mingw/winmain_ce.c 2009-12-11 11:50:03 UTC (rev 1407) @@ -23,22 +23,24 @@ extern int main (int, char **, char **); +/* Extract whitespace- and quotes- delimited tokens from the given + * string and put them into the tokens array. Returns number of tokens + * extracted. Length specifies the current size of tokens[], not + * counting for the NULL terminator. THIS METHOD MODIFIES string. + */ static int _parse_tokens(char* string, char*** tokens, int length) { - /* Extract whitespace- and quotes- delimited tokens from the given string - and put them into the tokens array. Returns number of tokens - extracted. Length specifies the current size of tokens[]. - THIS METHOD MODIFIES string. */ - const char* whitespace = " \t\r\n"; char* tokenEnd; const char* quoteCharacters = "\"\'"; - char* end = string + strlen (string); + char* end; if (string == NULL) return length; + end = string + strlen (string); + while (1) { const char* q; @@ -68,20 +70,15 @@ *tokenEnd = '\0'; - { - char** new_tokens; - int newlen = length + 1; - new_tokens = realloc (*tokens, sizeof (char**) * newlen); - if (!new_tokens) - { - /* Out of memory. */ - return -1; - } + length++; + *tokens = realloc (*tokens, sizeof (char**) * (length + 1)); + if (!*tokens) + { + /* Out of memory. */ + return -1; + } - *tokens = new_tokens; - (*tokens)[length] = string; - length = newlen; - } + (*tokens)[length - 1] = string; if (tokenEnd == end) break; string = tokenEnd + 1; @@ -101,7 +98,8 @@ /* argv[0] is the path of invoked program - get this from CE. */ cmdnameBufW[0] = 0; - modlen = GetModuleFileNameW(NULL, cmdnameBufW, sizeof (cmdnameBufW)/sizeof (cmdnameBufW[0])); + modlen = GetModuleFileNameW(NULL, cmdnameBufW, + sizeof (cmdnameBufW)/sizeof (cmdnameBufW[0])); if (!cmdlinePtrW) cmdlineLen = 0; @@ -112,14 +110,16 @@ if (!__cmdlinebuf) ExitProcess(-1); - *argv = malloc (sizeof (char**) * 1); + /* Add one to account for argv[0] */ + (*argc)++; + + /* + 1 accounts for the null terminator. */ + *argv = malloc (sizeof (char**) * (*argc + 1)); if (!*argv) ExitProcess(-1); (*argv)[0] = __cmdlinebuf; wcstombs((*argv)[0], cmdnameBufW, wcslen(cmdnameBufW) + 1); - /* Add one to account for argv[0] */ - (*argc)++; if (cmdlineLen > 0) { @@ -129,7 +129,7 @@ if (*argc < 0) ExitProcess(-1); } - (*argv)[*argc] = 0; + (*argv)[*argc] = NULL; return; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2009-12-10 12:55:43
|
Revision: 1406 http://cegcc.svn.sourceforge.net/cegcc/?rev=1406&view=rev Author: pedroalves Date: 2009-12-10 12:55:31 +0000 (Thu, 10 Dec 2009) Log Message: ----------- * mingwex/wince/stat.c: Fix indentation. Modified Paths: -------------- trunk/cegcc/src/mingw/ChangeLog.mingw32ce trunk/cegcc/src/mingw/mingwex/wince/stat.c Modified: trunk/cegcc/src/mingw/ChangeLog.mingw32ce =================================================================== --- trunk/cegcc/src/mingw/ChangeLog.mingw32ce 2009-12-10 12:52:26 UTC (rev 1405) +++ trunk/cegcc/src/mingw/ChangeLog.mingw32ce 2009-12-10 12:55:31 UTC (rev 1406) @@ -1,5 +1,9 @@ 2009-12-10 Pedro Alves <ped...@us...> + * mingwex/wince/stat.c: Fix indentation. + +2009-12-10 Pedro Alves <ped...@us...> + * mingwex/wince/stat.c (_fstat): Return -1 if GetFileInformationByHandle returns false. Modified: trunk/cegcc/src/mingw/mingwex/wince/stat.c =================================================================== --- trunk/cegcc/src/mingw/mingwex/wince/stat.c 2009-12-10 12:52:26 UTC (rev 1405) +++ trunk/cegcc/src/mingw/mingwex/wince/stat.c 2009-12-10 12:55:31 UTC (rev 1406) @@ -27,19 +27,19 @@ DWORD nFileSizeLow; }; -#define COPY_MEMBER(DEST, SRC, MEMBER) \ -do { \ - (DEST)->MEMBER = (SRC)->MEMBER; \ -} while (0) +#define COPY_MEMBER(DEST, SRC, MEMBER) \ + do { \ + (DEST)->MEMBER = (SRC)->MEMBER; \ + } while (0) -#define TO_STAT_FILE_INFO(DEST, SRC) \ -do { \ - COPY_MEMBER (DEST, SRC, dwFileAttributes); \ - COPY_MEMBER (DEST, SRC, ftLastWriteTime); \ - COPY_MEMBER (DEST, SRC, ftCreationTime); \ - COPY_MEMBER (DEST, SRC, ftLastAccessTime); \ - COPY_MEMBER (DEST, SRC, nFileSizeLow); \ -} while (0) +#define TO_STAT_FILE_INFO(DEST, SRC) \ + do { \ + COPY_MEMBER (DEST, SRC, dwFileAttributes); \ + COPY_MEMBER (DEST, SRC, ftLastWriteTime); \ + COPY_MEMBER (DEST, SRC, ftCreationTime); \ + COPY_MEMBER (DEST, SRC, ftLastAccessTime); \ + COPY_MEMBER (DEST, SRC, nFileSizeLow); \ + } while (0) static int __stat_by_file_info (struct stat_file_info_t *fi, struct _stat *st, int exec) @@ -71,21 +71,21 @@ /* Looks like the code below is never triggered. Windows CE always only keeps the LastWriteTime, and - copies it to the CreationTime and LastAccessTime fields. */ + copies it to the CreationTime and LastAccessTime fields. */ if (st->st_ctime == 0) st->st_ctime = st->st_mtime; if (st->st_atime == 0) { - /* On XP, at least, the st_atime is always set to the same - as the st_mtime, except the hour/min/sec == 00:00:00. */ - SYSTEMTIME s; - FILETIME f = fi->ftLastWriteTime; - FileTimeToSystemTime (&f, &s); - s.wHour = 0; s.wMinute = 0; - s.wSecond = 0; s.wMilliseconds = 0; - SystemTimeToFileTime (&s, &f); - st->st_atime = __FILETIME_to_time_t (&f); - /* st->st_atime = st->st_mtime; */ + /* On XP, at least, the st_atime is always set to the same as + the st_mtime, except the hour/min/sec == 00:00:00. */ + SYSTEMTIME s; + FILETIME f = fi->ftLastWriteTime; + FileTimeToSystemTime (&f, &s); + s.wHour = 0; s.wMinute = 0; + s.wSecond = 0; s.wMilliseconds = 0; + SystemTimeToFileTime (&s, &f); + st->st_atime = __FILETIME_to_time_t (&f); + /* st->st_atime = st->st_mtime; */ } return 0; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2009-12-10 12:52:37
|
Revision: 1405 http://cegcc.svn.sourceforge.net/cegcc/?rev=1405&view=rev Author: pedroalves Date: 2009-12-10 12:52:26 +0000 (Thu, 10 Dec 2009) Log Message: ----------- * mingwex/wince/stat.c (_fstat): Return -1 if GetFileInformationByHandle returns false. Modified Paths: -------------- trunk/cegcc/src/mingw/ChangeLog.mingw32ce trunk/cegcc/src/mingw/mingwex/wince/stat.c Modified: trunk/cegcc/src/mingw/ChangeLog.mingw32ce =================================================================== --- trunk/cegcc/src/mingw/ChangeLog.mingw32ce 2009-12-10 11:31:39 UTC (rev 1404) +++ trunk/cegcc/src/mingw/ChangeLog.mingw32ce 2009-12-10 12:52:26 UTC (rev 1405) @@ -1,3 +1,8 @@ +2009-12-10 Pedro Alves <ped...@us...> + + * mingwex/wince/stat.c (_fstat): Return -1 if + GetFileInformationByHandle returns false. + 2009-10-31 Danny Backx <dan...@us...> * include/stdlib.h: Do the fix below right this time. Modified: trunk/cegcc/src/mingw/mingwex/wince/stat.c =================================================================== --- trunk/cegcc/src/mingw/mingwex/wince/stat.c 2009-12-10 11:31:39 UTC (rev 1404) +++ trunk/cegcc/src/mingw/mingwex/wince/stat.c 2009-12-10 12:52:26 UTC (rev 1405) @@ -96,7 +96,8 @@ BY_HANDLE_FILE_INFORMATION fi; struct stat_file_info_t sfi; - GetFileInformationByHandle ((HANDLE)fd, &fi); + if (!GetFileInformationByHandle ((HANDLE) fd, &fi)) + return -1; TO_STAT_FILE_INFO (&sfi, &fi); return __stat_by_file_info (&sfi, st, 0); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2009-12-10 11:31:45
|
Revision: 1404 http://cegcc.svn.sourceforge.net/cegcc/?rev=1404&view=rev Author: pedroalves Date: 2009-12-10 11:31:39 +0000 (Thu, 10 Dec 2009) Log Message: ----------- 2009-12-10 Pedro Alves <ped...@us...> * include/winbase.h (struct _BY_HANDLE_FILE_INFORMATION): Add missing `dwOID' field on CE. Modified Paths: -------------- trunk/cegcc/src/w32api/ChangeLog.ce trunk/cegcc/src/w32api/include/winbase.h Modified: trunk/cegcc/src/w32api/ChangeLog.ce =================================================================== --- trunk/cegcc/src/w32api/ChangeLog.ce 2009-12-10 11:28:44 UTC (rev 1403) +++ trunk/cegcc/src/w32api/ChangeLog.ce 2009-12-10 11:31:39 UTC (rev 1404) @@ -1,3 +1,8 @@ +2009-12-10 Pedro Alves <ped...@us...> + + * include/winbase.h (struct _BY_HANDLE_FILE_INFORMATION): Add + missing `dwOID' field on CE. + 2009-10-22 Danny Backx <dan...@us...> Ivan Maidanski <iv...@ma...> Modified: trunk/cegcc/src/w32api/include/winbase.h =================================================================== --- trunk/cegcc/src/w32api/include/winbase.h 2009-12-10 11:28:44 UTC (rev 1403) +++ trunk/cegcc/src/w32api/include/winbase.h 2009-12-10 11:31:39 UTC (rev 1404) @@ -601,6 +601,9 @@ DWORD nNumberOfLinks; DWORD nFileIndexHigh; DWORD nFileIndexLow; +#ifdef _WIN32_WCE + DWORD dwOID; +#endif } BY_HANDLE_FILE_INFORMATION,*LPBY_HANDLE_FILE_INFORMATION; typedef struct _DCB { DWORD DCBlength; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2009-12-10 11:29:01
|
Revision: 1403 http://cegcc.svn.sourceforge.net/cegcc/?rev=1403&view=rev Author: pedroalves Date: 2009-12-10 11:28:44 +0000 (Thu, 10 Dec 2009) Log Message: ----------- Formatting, whitespace. Modified Paths: -------------- trunk/cegcc/src/w32api/ChangeLog.ce Modified: trunk/cegcc/src/w32api/ChangeLog.ce =================================================================== --- trunk/cegcc/src/w32api/ChangeLog.ce 2009-12-06 09:44:35 UTC (rev 1402) +++ trunk/cegcc/src/w32api/ChangeLog.ce 2009-12-10 11:28:44 UTC (rev 1403) @@ -1,5 +1,5 @@ -2009-10-22 Danny Backx <dan...@us...>, - Ivan Maidanski <iv...@ma...> +2009-10-22 Danny Backx <dan...@us...> + Ivan Maidanski <iv...@ma...> * include/winbase.h, include/kfuncs.h (DebugBreak): Define a function only when not CE. If CE, define as macros in kfuncs.h for arm and x86. @@ -8,7 +8,7 @@ * include/shlobj.h (IShellExecuteHookA): Replace UNDER_CE guard by _WIN32_WCE. - * libce/coredll.def : Fix alphabetic order. + * libce/coredll.def: Fix alphabetic order. 2009-09-07 Pedro Alves <ped...@us...> @@ -43,7 +43,7 @@ the value found on MSDN. 2009-05-29 Danny Backx <dan...@us...> - + * include/winnt.h (DLL_PROCESS_EXITING, DLL_SYSTEM_STARTED) (FILE_ATTRIBUTE_ROMMODULE, FILE_ATTRIBUTE_INROM): Define. * include/dbgapi.h: New file. @@ -108,7 +108,7 @@ * include/cegcc.h.in (__CEGCC_VERSION__): Add backslashes at the end of lines to allow line continuation. - + * include/kfuncs.h (TlsAlloc, TlsFree, PulseEvent, ResetEvent) (SetEvent, GetCurrentThread, GetCurrentProcess) (GetCurrentThreadId, GetCurrentProcessId): Change them from macros @@ -277,9 +277,9 @@ * include/cegcc.h.in: Add file to provide version tracking macros. 2007-11-25 Pedro Alves <ped...@po...> - Danny Backx <dan...@us...> + Danny Backx <dan...@us...> - * libce/icmplib.def: Remove proxy for icmplib, MSDN says it's a + * libce/icmplib.def: Remove proxy for icmplib, MSDN says it's a static library only. 2007-11-16 Danny Backx <dan...@us...> @@ -384,7 +384,7 @@ * include/winbase.h (LocalFlags, LocalHandle, LocalLock) (LocalUnlock): Define for WinCE. - + 2007-08-06 Pedro Alves <ped...@po...> * include/winbase.h (LocalLock): @@ -454,7 +454,7 @@ map to the W counterparts. 2007-03-26 Pedro Alves <ped...@po...> - + * libce/coredll.def: Add 'keep in sync' warning. 2007-03-26 Pedro Alves <ped...@po...> @@ -540,7 +540,7 @@ * aclocal.m4 (LIB_AC_PROG_CC_GNU, LIB_AC_PROG_CC) (LIB_AC_PROG_CXX): Define. * configure.in: Use LIB_AC_PROG_CC instead of AC_CHECK_TOOL. - Output libce/Makefile. + Output libce/Makefile. * configure: Regenerate. 2006-12-02 Kevin O'Connor <ke...@ko...> @@ -558,12 +558,12 @@ 2006-11-26 Kevin O'Connor <ke...@ko...> - * include/winbase.h: Add SYSTEM_POWER_STATUS_EX2 structure. + * include/winbase.h: Add SYSTEM_POWER_STATUS_EX2 structure. Add GetSystemPowerStatusEx2 function definition. 2006-11-26 Kevin O'Connor <ke...@ko...> - * include/tlhelp32.h (MODULEENTRY32): szModule is of MAX_PATH + * include/tlhelp32.h (MODULEENTRY32): szModule is of MAX_PATH size on CE. * include/tlhelp32.h: define TH32CS_GETALLMODS. @@ -620,7 +620,7 @@ Frame or crEffect members in CE version. (ImageList_Duplicate, ImageList_SetImageCount, ImageList_Copy, ImageList_DrawIndirect): Enable on Windows CE >= 2. - + 2006-11-12 Kevin O'Connor <ke...@ko...> * include/winuser.h (SPI_GETOEMINFO, SPI_GETPLATFORMTYPE): Define. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2009-12-06 09:44:44
|
Revision: 1402 http://cegcc.svn.sourceforge.net/cegcc/?rev=1402&view=rev Author: dannybackx Date: 2009-12-06 09:44:35 +0000 (Sun, 06 Dec 2009) Log Message: ----------- 2009-12-06 Danny Backx <dan...@us...> * ld/emultempl/pe.em, ld/scripttempl/armcoff.sc, ld/scripttempl/pep.sc, bfd/peXXigen.c: Work by Kai Tietz to fix so-called version 2 pseudo relocation. * ld/scripttempl/pe.sc: port Kai's work to the pe.sc file. * ld/scripttempl/pe.sc: move the BSS stuff inside the .data section instead of in its own .bss . This appears to be a Windows Mobile 6.1 requirement. * bfd/coff-arm.c, bfd/libpei.h: Avoid calling the coff_arm_final_link_postscript, we need bfd_coff_final_link_postscript. * bfd/cofflink.c: Don't use bfd_coff_link_output_has_begun(), it forgets to output the debug_info field of the first file linked. Modified Paths: -------------- trunk/cegcc/src/binutils/ChangeLog.ce trunk/cegcc/src/binutils/bfd/coff-arm.c trunk/cegcc/src/binutils/bfd/cofflink.c trunk/cegcc/src/binutils/bfd/libpei.h trunk/cegcc/src/binutils/bfd/peXXigen.c trunk/cegcc/src/binutils/ld/emultempl/pe.em trunk/cegcc/src/binutils/ld/scripttempl/armcoff.sc trunk/cegcc/src/binutils/ld/scripttempl/pe.sc trunk/cegcc/src/binutils/ld/scripttempl/pep.sc Modified: trunk/cegcc/src/binutils/ChangeLog.ce =================================================================== --- trunk/cegcc/src/binutils/ChangeLog.ce 2009-11-06 19:29:54 UTC (rev 1401) +++ trunk/cegcc/src/binutils/ChangeLog.ce 2009-12-06 09:44:35 UTC (rev 1402) @@ -1,3 +1,18 @@ +2009-12-06 Danny Backx <dan...@us...> + + * ld/emultempl/pe.em, ld/scripttempl/armcoff.sc, + ld/scripttempl/pep.sc, bfd/peXXigen.c: Work by Kai Tietz to fix + so-called version 2 pseudo relocation. + * ld/scripttempl/pe.sc: port Kai's work to the pe.sc file. + * ld/scripttempl/pe.sc: move the BSS stuff inside the .data section + instead of in its own .bss . This appears to be a Windows Mobile 6.1 + requirement. + * bfd/coff-arm.c, bfd/libpei.h: Avoid calling the + coff_arm_final_link_postscript, we need + bfd_coff_final_link_postscript. + * bfd/cofflink.c: Don't use bfd_coff_link_output_has_begun(), it forgets + to output the debug_info field of the first file linked. + 2009-10-20 Danny Backx <dan...@us...> * binutils/windres.c : Fix "windres can't detect Modified: trunk/cegcc/src/binutils/bfd/coff-arm.c =================================================================== --- trunk/cegcc/src/binutils/bfd/coff-arm.c 2009-11-06 19:29:54 UTC (rev 1401) +++ trunk/cegcc/src/binutils/bfd/coff-arm.c 2009-12-06 09:44:35 UTC (rev 1402) @@ -2507,6 +2507,7 @@ || sub == coff_arm_hash_table (info->info)->bfd_of_glue_owner); } +#if 0 static bfd_boolean coff_arm_final_link_postscript (bfd * abfd ATTRIBUTE_UNUSED, struct coff_final_link_info * pfinfo) @@ -2527,6 +2528,7 @@ return bfd_arm_update_notes (abfd, ARM_NOTE_SECTION); } +#endif #ifndef bfd_pe_print_pdata #define bfd_pe_print_pdata NULL Modified: trunk/cegcc/src/binutils/bfd/cofflink.c =================================================================== --- trunk/cegcc/src/binutils/bfd/cofflink.c 2009-11-06 19:29:54 UTC (rev 1401) +++ trunk/cegcc/src/binutils/bfd/cofflink.c 2009-12-06 09:44:35 UTC (rev 1402) @@ -902,7 +902,8 @@ && bfd_family_coff (p->u.indirect.section->owner)) { sub = p->u.indirect.section->owner; - if (! bfd_coff_link_output_has_begun (sub, & finfo)) +// if (! bfd_coff_link_output_has_begun (sub, & finfo)) + if (! sub->output_has_begun) { if (! _bfd_coff_link_input_bfd (&finfo, sub)) goto error_return; Modified: trunk/cegcc/src/binutils/bfd/libpei.h =================================================================== --- trunk/cegcc/src/binutils/bfd/libpei.h 2009-11-06 19:29:54 UTC (rev 1401) +++ trunk/cegcc/src/binutils/bfd/libpei.h 2009-12-06 09:44:35 UTC (rev 1402) @@ -323,9 +323,13 @@ #define coff_swap_aouthdr_out _bfd_XXi_swap_aouthdr_out #define coff_swap_scnhdr_out _bfd_XXi_swap_scnhdr_out -#ifndef coff_final_link_postscript +#ifdef coff_final_link_postscript +#undef coff_final_link_postscript +#endif #define coff_final_link_postscript _bfd_XXi_final_link_postscript -#endif +// #ifndef coff_final_link_postscript +// #define coff_final_link_postscript _bfd_XXi_final_link_postscript +// #endif void _bfd_XXi_swap_sym_in (bfd *, void *, void *); unsigned _bfd_XXi_swap_sym_out (bfd *, void *, void *); Modified: trunk/cegcc/src/binutils/bfd/peXXigen.c =================================================================== --- trunk/cegcc/src/binutils/bfd/peXXigen.c 2009-11-06 19:29:54 UTC (rev 1401) +++ trunk/cegcc/src/binutils/bfd/peXXigen.c 2009-12-06 09:44:35 UTC (rev 1402) @@ -2270,7 +2270,7 @@ they are in the symbol table, so get them from there. */ /* The import directory. This is the address of .idata$2, with size - of .idata$2 + .idata$3. */ + of .idata$2 + .idata$3. */ h1 = coff_link_hash_lookup (coff_hash_table (info), ".idata$2", FALSE, FALSE, TRUE); if (h1 != NULL) @@ -2296,6 +2296,9 @@ h1 = coff_link_hash_lookup (coff_hash_table (info), ".idata$4", FALSE, FALSE, TRUE); + if (!h1) + h1 = coff_link_hash_lookup (coff_hash_table (info), + "__idata_4", FALSE, FALSE, TRUE); if (h1 != NULL && (h1->root.type == bfd_link_hash_defined || h1->root.type == bfd_link_hash_defweak) @@ -2322,12 +2325,12 @@ && (h1->root.type == bfd_link_hash_defined || h1->root.type == bfd_link_hash_defweak) && h1->root.u.def.section != NULL - && h1->root.u.def.section->output_section != NULL) + && h1->root.u.def.section->output_section != NULL) { pe_data (abfd)->pe_opthdr.DataDirectory[PE_IMPORT_ADDRESS_TABLE].VirtualAddress = (h1->root.u.def.value + h1->root.u.def.section->output_section->vma + h1->root.u.def.section->output_offset); - else + } else { _bfd_error_handler (_("%B: unable to fill in DataDictionary[12] because .idata$5 is missing"), @@ -2355,6 +2358,40 @@ result = FALSE; } } + else + { + h1 = coff_link_hash_lookup (coff_hash_table (info), + "__idata5_start__", FALSE, FALSE, TRUE); + if (h1 != NULL + && h1->root.u.def.section != NULL + && h1->root.u.def.section->output_section != NULL) + { + pe_data (abfd)->pe_opthdr.DataDirectory[PE_IMPORT_ADDRESS_TABLE].VirtualAddress = + (h1->root.u.def.value + + h1->root.u.def.section->output_section->vma + + h1->root.u.def.section->output_offset); + + h1 = coff_link_hash_lookup (coff_hash_table (info), + "__idata5_end__", FALSE, FALSE, TRUE); + if (h1 != NULL + && h1->root.u.def.section != NULL + && h1->root.u.def.section->output_section != NULL) + { + pe_data (abfd)->pe_opthdr.DataDirectory[PE_IMPORT_ADDRESS_TABLE].Size = + ((h1->root.u.def.value + + h1->root.u.def.section->output_section->vma + + h1->root.u.def.section->output_offset) + - pe_data (abfd)->pe_opthdr.DataDirectory[PE_IMPORT_ADDRESS_TABLE].VirtualAddress); + } + else + { + _bfd_error_handler + (_("%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)] because .idata$6 is missing"), + abfd); + result = FALSE; + } + } + } h1 = coff_link_hash_lookup (coff_hash_table (info), "__tls_used", FALSE, FALSE, TRUE); Modified: trunk/cegcc/src/binutils/ld/emultempl/pe.em =================================================================== --- trunk/cegcc/src/binutils/ld/emultempl/pe.em 2009-11-06 19:29:54 UTC (rev 1401) +++ trunk/cegcc/src/binutils/ld/emultempl/pe.em 2009-12-06 09:44:35 UTC (rev 1402) @@ -168,7 +168,7 @@ fragment <<EOF link_info.pei386_auto_import = ${default_auto_import}; - link_info.pei386_runtime_pseudo_reloc = 1; /* Use by default version 1. */ + link_info.pei386_runtime_pseudo_reloc = 2; /* Use by default version 1. */ #if (PE_DEF_SUBSYSTEM == 9) || (PE_DEF_SUBSYSTEM == 2) #if defined TARGET_IS_mipspe || defined TARGET_IS_armpe || defined TARGET_IS_arm_wince_pe Modified: trunk/cegcc/src/binutils/ld/scripttempl/armcoff.sc =================================================================== --- trunk/cegcc/src/binutils/ld/scripttempl/armcoff.sc 2009-11-06 19:29:54 UTC (rev 1401) +++ trunk/cegcc/src/binutils/ld/scripttempl/armcoff.sc 2009-12-06 09:44:35 UTC (rev 1402) @@ -1,4 +1,5 @@ # Linker script for ARM COFF. +echo "Yow in scripttempl/armcoff.sc" # Based on i386coff.sc by Ian Taylor <ia...@cy...>. test -z "$ENTRY" && ENTRY=_start if test -z "${DATA_ADDR}"; then @@ -17,6 +18,22 @@ *(SORT(.dtors.*)) *(.dtor) }' +if test "${RELOCATING}"; then + R_IDATA234=' + SORT(*)(.idata$2) + SORT(*)(.idata$3) + /* These zeroes mark the end of the import list. */ + LONG (0); LONG (0); LONG (0); LONG (0); LONG (0); + SORT(*)(.idata$4)' + R_IDATA5='SORT(*)(.idata$5)' + R_IDATA67=' + SORT(*)(.idata$6) + SORT(*)(.idata$7)' +else + R_IDATA234= + R_IDATA5= + R_IDATA67= +fi cat <<EOF OUTPUT_FORMAT("${OUTPUT_FORMAT}", "${BIG_OUTPUT_FORMAT}", "${LITTLE_OUTPUT_FORMAT}") @@ -60,6 +77,16 @@ } ${CONSTRUCTING+${RELOCATING-$CTOR}} ${CONSTRUCTING+${RELOCATING-$DTOR}} + .idata ${RELOCATING+BLOCK(__section_alignment__)} : + { + /* This cannot currently be handled with grouped sections. + See pep.em:sort_sections. */ + ${R_IDATA234} + ${RELOCATING+__idata5_start__ = .;} + ${R_IDATA5} + ${RELOCATING+__idata5_end__ = .;} + ${R_IDATA67} + } .bss ${RELOCATING+ ALIGN(0x8)} : { ${RELOCATING+ __bss_start__ = . ;} Modified: trunk/cegcc/src/binutils/ld/scripttempl/pe.sc =================================================================== --- trunk/cegcc/src/binutils/ld/scripttempl/pe.sc 2009-11-06 19:29:54 UTC (rev 1401) +++ trunk/cegcc/src/binutils/ld/scripttempl/pe.sc 2009-12-06 09:44:35 UTC (rev 1402) @@ -23,13 +23,14 @@ R_RDATA='*(.rdata) *(SORT(.rdata$*))' fi - R_IDATA=' + R_IDATA234=' SORT(*)(.idata$2) SORT(*)(.idata$3) /* These zeroes mark the end of the import list. */ LONG (0); LONG (0); LONG (0); LONG (0); LONG (0); - SORT(*)(.idata$4) - SORT(*)(.idata$5) + SORT(*)(.idata$4)' + R_IDATA5='SORT(*)(.idata$5)' + R_IDATA67=' SORT(*)(.idata$6) SORT(*)(.idata$7)' R_CRT_XC='*(SORT(.CRT$XC*)) /* C initialization */' @@ -46,7 +47,9 @@ R_TEXT= R_DATA= R_RDATA='*(.rdata)' - R_IDATA= + R_IDATA234= + R_IDATA5= + R_IDATA67= R_CRT= R_RSRC= fi @@ -62,6 +65,7 @@ { ${RELOCATING+/* Make the virtual address and file offset synced if the alignment is} ${RELOCATING+ lower than the target page size. */} + ${RELOCATING+/* Yow pe.sc */} ${RELOCATING+. = SIZEOF_HEADERS;} ${RELOCATING+. = ALIGN(__section_alignment__);} .text ${RELOCATING+ __image_base__ + ( __section_alignment__ < ${TARGET_PAGE_SIZE} ? . : __section_alignment__ )} : @@ -98,6 +102,13 @@ *(.jcr) ${RELOCATING+__data_end__ = . ;} ${RELOCATING+*(.data_cygwin_nocopy)} + + /* Stuff copied from BSS */ + ${RELOCATING+__bss_start__ = . ;} + *(.bss) + *(COMMON) + ${RELOCATING+__bss_end__ = . ;} + /* End stuff from BSS */ } .rdata ${RELOCATING+BLOCK(__section_alignment__)} : @@ -108,6 +119,13 @@ *(.rdata_runtime_pseudo_reloc) ${RELOCATING+___RUNTIME_PSEUDO_RELOC_LIST_END__ = .;} ${RELOCATING+__RUNTIME_PSEUDO_RELOC_LIST_END__ = .;} + + /* Moved .edata */ + /* End moved .edata */ + + /* Moved .idata */ + /* Moving idata appears to cause a crash even in d2.exe */ + /* End moved .idata */ } .eh_frame ${RELOCATING+BLOCK(__section_alignment__)} : @@ -120,14 +138,6 @@ *(.pdata) } - .bss ${RELOCATING+BLOCK(__section_alignment__)} : - { - ${RELOCATING+__bss_start__ = . ;} - *(.bss) - *(COMMON) - ${RELOCATING+__bss_end__ = . ;} - } - .edata ${RELOCATING+BLOCK(__section_alignment__)} : { *(.edata) @@ -145,8 +155,13 @@ { /* This cannot currently be handled with grouped sections. See pe.em:sort_sections. */ - ${R_IDATA} + ${R_IDATA234} + ${RELOCATING+__idata5_start__ = .;} + ${R_IDATA5} + ${RELOCATING+__idata5_end__ = .;} + ${R_IDATA67} } + .CRT ${RELOCATING+BLOCK(__section_alignment__)} : { ${RELOCATING+___crt_xc_start__ = . ;} Modified: trunk/cegcc/src/binutils/ld/scripttempl/pep.sc =================================================================== --- trunk/cegcc/src/binutils/ld/scripttempl/pep.sc 2009-11-06 19:29:54 UTC (rev 1401) +++ trunk/cegcc/src/binutils/ld/scripttempl/pep.sc 2009-12-06 09:44:35 UTC (rev 1402) @@ -1,4 +1,5 @@ # Linker script for PE. +echo "Yow in scripttempl/pep.sc" if test -z "${RELOCATEABLE_OUTPUT_FORMAT}"; then RELOCATEABLE_OUTPUT_FORMAT=${OUTPUT_FORMAT} @@ -23,13 +24,14 @@ R_RDATA='*(.rdata) *(SORT(.rdata$*))' fi - R_IDATA=' + R_IDATA234=' SORT(*)(.idata$2) SORT(*)(.idata$3) /* These zeroes mark the end of the import list. */ LONG (0); LONG (0); LONG (0); LONG (0); LONG (0); - SORT(*)(.idata$4) - SORT(*)(.idata$5) + SORT(*)(.idata$4)' + R_IDATA5='SORT(*)(.idata$5)' + R_IDATA67=' SORT(*)(.idata$6) SORT(*)(.idata$7)' R_CRT_XC='*(SORT(.CRT$XC*)) /* C initialization */' @@ -46,7 +48,9 @@ R_TEXT= R_DATA= R_RDATA='*(.rdata)' - R_IDATA= + R_IDATA234= + R_IDATA5= + R_IDATA67= R_CRT= R_RSRC= fi @@ -62,6 +66,7 @@ { ${RELOCATING+/* Make the virtual address and file offset synced if the alignment is} ${RELOCATING+ lower than the target page size. */} + ${RELOCATING+/* Yow pep.sc */} ${RELOCATING+. = SIZEOF_HEADERS;} ${RELOCATING+. = ALIGN(__section_alignment__);} .text ${RELOCATING+ __image_base__ + ( __section_alignment__ < ${TARGET_PAGE_SIZE} ? . : __section_alignment__ )} : @@ -146,8 +151,13 @@ { /* This cannot currently be handled with grouped sections. See pep.em:sort_sections. */ - ${R_IDATA} + ${R_IDATA234} + ${RELOCATING+__idata5_start__ = .;} + ${R_IDATA5} + ${RELOCATING+__idata5_end__ = .;} + ${R_IDATA67} } + .CRT ${RELOCATING+BLOCK(__section_alignment__)} : { ${RELOCATING+___crt_xc_start__ = . ;} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2009-11-06 19:30:08
|
Revision: 1401 http://cegcc.svn.sourceforge.net/cegcc/?rev=1401&view=rev Author: dannybackx Date: 2009-11-06 19:29:54 +0000 (Fri, 06 Nov 2009) Log Message: ----------- Adapt this to be able to process more than one DLL, based on idea and implementation by Rob Dunning. Modified Paths: -------------- trunk/cegcc/tools/dll/Makefile trunk/cegcc/tools/dll/testapi2.c Modified: trunk/cegcc/tools/dll/Makefile =================================================================== --- trunk/cegcc/tools/dll/Makefile 2009-10-31 10:13:39 UTC (rev 1400) +++ trunk/cegcc/tools/dll/Makefile 2009-11-06 19:29:54 UTC (rev 1401) @@ -19,4 +19,4 @@ ${CC} -o $@ $< clean: - -rm -f *.o dllverify.exe + -rm -f *.o dllverify.exe testapi.exe testapi2.exe Modified: trunk/cegcc/tools/dll/testapi2.c =================================================================== --- trunk/cegcc/tools/dll/testapi2.c 2009-10-31 10:13:39 UTC (rev 1400) +++ trunk/cegcc/tools/dll/testapi2.c 2009-11-06 19:29:54 UTC (rev 1401) @@ -8,11 +8,14 @@ * dialogs on the Windows CE console. * * File format : a single entry on each line. - * First line mentions the name of the dll to be loaded (e.g. coredll). + * Each line starting with an asterisk (*) starts working on a new DLL. + * First line should mention the name of the dll to be loaded (e.g. coredll). * All next lines mention the name of a function that the DLL will be * searched for (e.g. AppendMenuW). + * Until a line starting with a * is encountered of course. * * Copyright (c) 2009 by Danny Backx. + * Expanded with the * line stuff, based on idea and implementation by Rob Dunning. */ #include <windows.h> #include <stdio.h> @@ -20,8 +23,8 @@ void (WINAPI *fun)(void); -char *input = "\\temp\\testapi.in.txt", - *output = "\\temp\\testapi.out.txt"; +char *input = "/storage card/testapi/testapi.in.txt", + *output = "/storage card/testapi/testapi.out.txt"; int main(int argc, char *argv[]) { @@ -45,34 +48,38 @@ exit(2); } - fscanf(infile, "%s\n", &field); - mbstowcs(dllname, field, 64); - strcpy(dllnm, field); - dll = LoadLibrary(dllname); - if (! dll) { - DWORD e = GetLastError(); - fprintf(outfile, "LoadLibrary(%s) : cannot load DLL -> error %d\n", dllnm, e); - fclose(outfile); - exit(1); - } - fprintf(outfile, "Testapi2 started (%s)\n", field); - r = fscanf(infile, "%s\n", &field); while (r != EOF) { - if (count++ > 2000) { - printf("Terminating\n"); - fprintf(outfile, "Terminating\n"); - fclose(outfile); - exit(1); + if (field[0] == '*') { + /* Read a library */ + mbstowcs(dllname, field+1, 64); + strcpy(dllnm, field+1); + dll = LoadLibrary(dllname); + if (! dll) { + DWORD e = GetLastError(); + fprintf(outfile, "LoadLibrary(%s) : cannot load DLL -> error %d\n", dllnm, e); + } + else { + fprintf(outfile, "Started processing DLL(%s)\n", dllnm); + } + + } else if (dll) { + /* Search the library, but only if it's open */ + if (count++ > 2000) { + printf("Terminating\n"); + fprintf(outfile, "Terminating\n"); + fclose(outfile); + exit(1); + } + mbstowcs(wapi, field, 64); + *(FARPROC *)&fun = GetProcAddress(dll, wapi); + if (fun) { + fprintf(outfile, "\t%s implements %s (0x%08X)\n", dllnm, field, fun); + } else { + DWORD e = GetLastError(); + fprintf(outfile, "\t%s doesn't know about %s\n", dllnm, field); + } } - mbstowcs(wapi, field, 64); - *(FARPROC *)&fun = GetProcAddress(dll, wapi); - if (fun) { - fprintf(outfile, "\t%s implements %s (0x%08X)\n", dllnm, field, fun); - } else { - DWORD e = GetLastError(); - fprintf(outfile, "%s doesn't know about %s\n", dllnm, field); - } r = fscanf(infile, "%s\n", &field); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2009-10-31 10:13:46
|
Revision: 1400 http://cegcc.svn.sourceforge.net/cegcc/?rev=1400&view=rev Author: dannybackx Date: 2009-10-31 10:13:39 +0000 (Sat, 31 Oct 2009) Log Message: ----------- Fix the fix Modified Paths: -------------- trunk/cegcc/src/mingw/ChangeLog.mingw32ce trunk/cegcc/src/mingw/include/stdlib.h Modified: trunk/cegcc/src/mingw/ChangeLog.mingw32ce =================================================================== --- trunk/cegcc/src/mingw/ChangeLog.mingw32ce 2009-10-29 19:51:15 UTC (rev 1399) +++ trunk/cegcc/src/mingw/ChangeLog.mingw32ce 2009-10-31 10:13:39 UTC (rev 1400) @@ -1,3 +1,7 @@ +2009-10-31 Danny Backx <dan...@us...> + + * include/stdlib.h: Do the fix below right this time. + 2009-10-29 Pierre Ynard <lin...@ya...> * include/stdlib.h: Apply the atoll change again, this disappeared Modified: trunk/cegcc/src/mingw/include/stdlib.h =================================================================== --- trunk/cegcc/src/mingw/include/stdlib.h 2009-10-29 19:51:15 UTC (rev 1399) +++ trunk/cegcc/src/mingw/include/stdlib.h 2009-10-31 10:13:39 UTC (rev 1400) @@ -562,6 +562,10 @@ {return (_j >= 0 ? _j : -_j);} #endif +/* C99 addition, this used to be blocked by __STRICT_ANSI__ (see below). */ +__CRT_INLINE long long __cdecl __MINGW_NOTHROW atoll (const char * _c) + { return _atoi64 (_c); } + long long __cdecl __MINGW_NOTHROW strtoll (const char* __restrict__, char** __restrict, int); unsigned long long __cdecl __MINGW_NOTHROW strtoull (const char* __restrict__, char** __restrict__, int); @@ -574,10 +578,6 @@ wchar_t* __cdecl __MINGW_NOTHROW lltow (long long, wchar_t *, int); wchar_t* __cdecl __MINGW_NOTHROW ulltow (unsigned long long, wchar_t *, int); -/* C99 addition, this used to be blocked by __STRICT_ANSI__ (see below). */ -__CRT_INLINE long long __cdecl __MINGW_NOTHROW atoll (const char * _c) - { return _atoi64 (_c); } - /* inline using non-ansi functions */ #ifndef __NO_INLINE__ __CRT_INLINE char* __cdecl __MINGW_NOTHROW lltoa (long long _n, char * _c, int _i) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |