From: Greg Banks <gnb@melbourne.sgi.com>,
      Keith Owens <kaos@sgi.com>

This patch from Keith Owens fixes a bug in the ia64 port of oprofile when
built without the kdb patch and with a pre-3.4 gcc.

If you build a standard kernel with gcc < 3.4 then
ia64_spinlock_contention_pre3_4 is defined.  But a standard kernel does not
have ia64_spinlock_contention_pre3_4_end, that label is only added by the
kdb patch.  To get the backtrace profiling with gcc < 3.4, the _end label
needs to be added as part of the kernprof patch, then I will remove it from
kdb.

Signed-off-by: Keith Owens <kaos@sgi.com>
Signed-off-by: Greg Banks <gnb@melbourne.sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/arch/ia64/kernel/head.S |    2 ++
 1 files changed, 2 insertions(+)

diff -puN arch/ia64/kernel/head.S~oprofile-fix-ia64-callgraph-bug-with-old-gcc arch/ia64/kernel/head.S
--- 25/arch/ia64/kernel/head.S~oprofile-fix-ia64-callgraph-bug-with-old-gcc	2005-01-05 15:44:53.474485584 -0800
+++ 25-akpm/arch/ia64/kernel/head.S	2005-01-05 15:44:53.478484976 -0800
@@ -949,6 +949,8 @@ GLOBAL_ENTRY(ia64_spinlock_contention_pr
 (p14)	br.cond.sptk.few .wait
 (p15)	rsm psr.i		// disable interrupts if we reenabled them
 	br.cond.sptk.few b6	// lock is now free, try to acquire
+	.global ia64_spinlock_contention_pre3_4_end	// for kernprof
+ia64_spinlock_contention_pre3_4_end:
 END(ia64_spinlock_contention_pre3_4)
 
 #else
_