Transferring a mail from Dave Korn about PE change in binutils. Dave or Danny could you have a look ?
Dave Korn wrote: > Dave Korn wrote: > >> But it's quite a big one, and the tests still have 24 hours or so to run > > The tests completed, and showed up a couple of problems; > So, I'm now putting this > revised version through the full tests again. Results tomorrow sometime, > along with an updated changelog. The tests completed with no regressions on i686-pc-cygwin native and x {i686-pc-mingw32, x86_64-pc-mingw32} and i686-pc-linux-gnu x {usual long list of 71 random targets, see footer of post[*]} I also temporarily hacked in enough basic support for cegcc targets to give them a quick cross-test and verify nothing significant broke, although they don't pass the tests because they have some kind of file-alignment limited to 8 which the compiler warns about: /gnu/binutils/src/ld/testsuite/ld-pe/aligncomm-1.c:5: warning: alignment of 'r' is greater than maximum object file alignment. Using 8 /gnu/binutils/src/ld/testsuite/ld-pe/aligncomm-1.c:5: warning: alignment of 'r' is greater than maximum object file alignment. Using 8 ... so they show as UNRESOLVED. We could XFAIL, skip, or add the required compiler flags as desired whenever the new cegcc target names get added to config (not sure what's happening on that front), or potentially the compiler could be changed to take advantage of the new support. Because of this minor potential hiccup, I'll wait 24 hours for comments before committing the final version of the patch (unchanged since previous posting at http://sourceware.org/ml/binutils/2009-05/msg00271.html). (Also in case anyone wants to say I should separate out the refactoring of the ld-pe testcases into a separate patch, which I would have done in the first place if I'd known in advance I was going to end up doing it.... but it's been pretty thoroughly tested, so I reckon it'll be ok.) bfd/ChangeLog: * cofflink.c (process_embedded_commands): Ignore "-aligncomm". gas/ChangeLog: * NEWS: Mention new feature. * config/obj-coff.c (obj_coff_common_parse): New function. (obj_coff_comm): Likewise. (coff_pseudo_table): Override default ".comm" definition on PE. * doc/as.texinfo: Document new feature. gas/testsuite/ChangeLog * gas/pe/: New directory for PE format-specific tests. * gas/pe/aligncomm-a.d: New test pattern file. * gas/pe/aligncomm-a.s: New test source file. * gas/pe/aligncomm-b.d: New test pattern file. * gas/pe/aligncomm-b.s: New test source file. * gas/pe/aligncomm-c.d: New test pattern file. * gas/pe/aligncomm-c.s: New test source file. * gas/pe/aligncomm-d.d: New test pattern file. * gas/pe/aligncomm-d.s: New test source file. * gas/pe/pe.exp: New test control script. * lib/gas-defs.exp (is_pecoff_format): New function. ld/ChangeLog: * NEWS: Mention new feature. * deffile.h (def_file_aligncomm): Add new struct definition. (def_file): Add new def_file_aligncomm member. * deffilep.y (%token): Add new ALIGNCOMM token. (command): Add production rule for ALIGNCOMM. (def_file_free): Free any chained def_file_aligncomm structs. (diropts[]): Add entry for '-aligncomm' .drectve command. (def_aligncomm): New grammar function. * ld.texinfo: Document new feature. * pe-dll.c (process_def_file): Rename from this ... (process_def_file_and_drectve): ... to this, updating all callers, and process any aligncomms chained to the def file after scanning all .drectve sections. (generate_edata): Updated to match. (pe_dll_build_sections): Likewise. ld/testsuite/ChangeLog: * ld-pe/aligncomm-1.c: New test source file. * ld-pe/aligncomm-2.c: Likewise. * ld-pe/aligncomm-3.c: Likewise. * ld-pe/aligncomm-4.c: Likewise. * ld-pe/aligncomm.d: New test pattern file. * ld-pe/direct.exp: Deleted, and content moved into ... * ld-pe/pe-run.exp: ... New common file for all PE run tests. * ld-pe/vers-script.exp: Deleted, and content merged into ... * ld-pe/pe-compile.exp: ... New common file for PE tests needing a compiler, adding aligned common tests. * ld-pe/pe.exp: Update header comment. cheers, DaveK -- [*] - a29k-unknown-coff, alpha-freebsd, alpha-linuxecoff, alpha-unknown-linux, alpha-unknown-linuxecoff, arm-epoc-pe, arm-unknown-coff, arm-unknown-linux, arm-vxworks, arm-wince-pe, h8300-unknown-rtems, h8500-unknown-rtems, hppa-unknown-linux, hppa64-unknown-linux, i370-unknown-linux, i386-coff, i386-msdos, i386-pc-netbsdpe, i386-pc-pe, i586-linux, i586-pc-interix, i586-pc-msdosdjgpp, i586-unknown-beospe, i586-unknown-coff, i686-pc-cygwin, i686-pc-linux-gnu, i686-pc-mingw32, i960-intel-nindy, i960-unknown-coff, ia64-unknown-linux, m68k-coff, m68k-unknown-coff, m68k-unknown-linux, m68k-unknown-netbsd, m88k-unknown-coff, mcore-unknown-pe, mips-dec-bsd, mips-unknown-ecoff, mips-unknown-linux, mips-unknown-pe, ns32k-unknown-netbsd, or32-unknown-coff, powerpc-unknown-aix5, powerpc-unknown-linux, powerpc64-unknown-linux, powerpcle-unknown-pe, ppc-eabi, s390-unknown-linux, s390x-unknown-linux, sh-coff, sh-unknown-linux, sh-unknown-pe, sh-unknown-rtems, sparc-unknown-coff, sparc-unknown-linux, sparc64-unknown-linux, thumb-epoc-pe, tic30-unknown-coff, tic54x-unknown-coff, tic80-unknown-coff, vax-unknown-netbsd, vax-unknown-vms, vms-vax, w65-unknown-coff, x86_64-pc-freebsd, x86_64-pc-linux-gnu, x86_64-pc-mingw32, x86_64-unknown-linux, z8k-coff, z8k-unknown-coff. ------------------------------------------------------------------------------ Crystal Reports - New Free Runtime and 30 Day Trial Check out the new simplified licensing option that enables unlimited royalty-free distribution of the report engine for externally facing server and web deployment. http://p.sf.net/sfu/businessobjects _______________________________________________ Cegcc-devel mailing list Cegcc-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/cegcc-devel