Original patch from: gentoo/src/patchsets/glibc/2.9/1080_all_glibc-no-inline-gmon.patch

-= BEGIN original header =-
http://bugs.gentoo.org/196245
http://sourceware.org/ml/libc-alpha/2006-05/msg00017.html

Attached is a patch to add __attribute__ ((noinline)) to
call_gmon_start.

Without this patch, the sec script that processed initfini.s removes a
part of inlined call_gmon_start, causing undefined label errors.

This patch solves the problem by forcing gcc not to inline
call_gmon_start with __attribute__ ((noinline)).

Tested by building for arm-none-lixux-gnueabi.  OK to apply?

Kazu Hirata

2006-05-07  Kazu Hirata  &lt;kazu@codesourcery.com&gt;

	* sysdeps/generic/initfini.c (call_gmon_start): Add
	__attribute__ ((noinline)).

-= END original header =-

diff -durN glibc-2_9.orig/sysdeps/generic/initfini.c glibc-2_9/sysdeps/generic/initfini.c
--- glibc-2_9.orig/sysdeps/generic/initfini.c	2007-06-17 20:02:40.000000000 +0200
+++ glibc-2_9/sysdeps/generic/initfini.c	2009-02-02 22:01:01.000000000 +0100
@@ -70,7 +70,7 @@
 /* The beginning of _init:  */
 asm ("\n/*@_init_PROLOG_BEGINS*/");
 
-static void
+static void __attribute__ ((noinline))
 call_gmon_start(void)
 {
   extern void __gmon_start__ (void) __attribute__ ((weak)); /*weak_extern (__gmon_start__);*/
