------- Comment #5 from edmar at freescale dot com 2006-09-01 20:03 ------- (In reply to comment #4) > Subject: Re: New: [4.2.0] regression > > On Fri, 1 Sep 2006, edmar at freescale dot com wrote: > > > During the build of glibc (2.3.6) there is a file (csu/initfini.c) that has > > several asm statements. After compiling, the resulting asm file will be the > > source of some sed scripts that generates crti.S and crtn.S. > > > > Using gcc-trunk snapshot from 20060828, and gcc-4.0.2, the generated files > > initfini.s differs to a point that the sed scripts gets totaly lost. > > The ARM version of initfini.c does > > /* Prevent this function from being inlined. Otherwise half of its > constant pool will end up in crti and the other half in crtn. */ > > static void call_gmon_start (void) __attribute__((noinline)); > > #include <sysdeps/generic/initfini.c> > > to avoid problems with the asm processing of this file. Does using > noinline like this work for you? > It does change the inlining of call_gmon_start, but nothing else. I think the critical point is the positioning of /[EMAIL PROTECTED]/ and other markers like it within the file.
Of course someone could argue that gcc is not doing anything wrong, and glibc scripts is making too much assumptions. But if this change was accidental, and could be reversed, it would be nice ... -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28930