eglibc builds broken with trunk on arm-linux-gnueabi with an internal compiler error in cfgloop.c - it has happened in about the last 3 days or so since my last successful build was on 27th March. $> /work/cross-build/fsf/arm-none-linux-gnueabi/tools-lowersubregchanges-patched/bin/arm-none-linux-gnueabi-gcc -c -O2 ./besttry.c -mfloat-abi=soft -march=armv5te ./besttry.c: In function ‘_IO_new_file_write’: ./besttry.c:36:1: internal compiler error: in get_loop_body, at cfgloop.c:831 __extension__ typedef int __ssize_t; extern __thread int __libc_errno __attribute__ ((tls_model ("initial-exec"))); struct _IO_FILE { int _fileno; int _flags2; }; typedef struct _IO_FILE _IO_FILE; _IO_new_file_write (f, data, n) _IO_FILE *f; { __ssize_t to_do = n; while (to_do> 0) { __ssize_t count = (__builtin_expect (f->_flags2& 2, 0) ? ({ unsigned int _sys_result = ({ register int _a1 asm ("r0"), _nr asm ("r7"); int _a3tmp = (int) ((to_do)); int _a2tmp = (int) ((data)); register int _a2 asm ("a2") = _a2tmp; register int _a3 asm ("a3") = _a3tmp; _nr = ((0 + 4)); asm volatile ("swi 0x0 @ syscall " "SYS_ify(write)" : "=r" (_a1) : "r" (_nr) , "r" (_a1), "r" (_a2), "r" (_a3) : "memory"); _a1; }); if (__builtin_expect (((unsigned int) (_sys_result)>= 0xfffff001u), 0)) { (__libc_errno = ((-(_sys_result)))); _sys_result = (unsigned int) -1; } (int) _sys_result; }) : __write (f->_fileno, data, to_do)); if (count< 0) { break; } to_do -= count; } }
Richi - probably yours - svn+ssh://gcc.gnu.org/svn/gcc/trunk@185913 broken svn+ssh://gcc.gnu.org/svn/gcc/trunk@185910 good regards, Ramana
Fixed by Index: gcc/cprop.c =================================================================== --- gcc/cprop.c (revision 186066) +++ gcc/cprop.c (working copy) @@ -1916,7 +1916,7 @@ execute_rtl_cprop (void) changed = one_cprop_pass (); flag_rerun_cse_after_global_opts |= changed; if (changed) - cleanup_cfg (0); + cleanup_cfg (CLEANUP_CFG_CHANGED); return 0; }
Author: rguenth Date: Mon Apr 2 12:00:30 2012 New Revision: 186081 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=186081 Log: 2012-04-02 Richard Guenther <rguenther@suse.de> PR rtl-optimization/52800 * cprop.c (execute_rtl_cprop): Call cleanup_cfg with CLEANUP_CFG_CHANGED. Modified: trunk/gcc/ChangeLog trunk/gcc/cprop.c
Fixed.