---
 arch/ia64/scripts/check-model.c   |    1 +
 arch/ia64/scripts/toolchain-flags |    6 ++++++
 2 files changed, 7 insertions(+)

Index: linux-2.6/arch/ia64/scripts/check-model.c
===================================================================
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
+++ linux-2.6/arch/ia64/scripts/check-model.c	2007-11-27 13:47:11.552713569 -0800
@@ -0,0 +1 @@
+int __attribute__ ((__model__ (__small__))) x;
Index: linux-2.6/arch/ia64/scripts/toolchain-flags
===================================================================
--- linux-2.6.orig/arch/ia64/scripts/toolchain-flags	2007-11-27 13:46:54.888963341 -0800
+++ linux-2.6/arch/ia64/scripts/toolchain-flags	2007-11-27 13:47:11.552713569 -0800
@@ -35,6 +35,12 @@ if [ $res -eq 0 ]; then
     CPPFLAGS="$CPPFLAGS -DHAVE_WORKING_TEXT_ALIGN"
 fi
 
+if ! $CC -c $dir/check-model.c -o $out 2>&1 | grep  __model__ | grep -q attrib
+then
+    CPPFLAGS="$CPPFLAGS -DHAVE_MODEL_SMALL_ATTRIBUTE"
+fi
+rm -f $out
+
 # Check whether assembler supports .serialize.{data,instruction} directive.
 
 $CC -c $dir/check-serialize.S -o $out 2>/dev/null