--- ./gdb/symtab.c_orig	2012-02-05 17:07:42.701019390 +0530
+++ ./gdb/symtab.c	2012-02-05 17:09:35.154014505 +0530
@@ -2072,6 +2072,9 @@
 	{
 	  /* Leave prev pointing to the linetable entry for the last line
 	     that started at or before PC.  */
+          if ((item->pc > pc) && !i) /* for xlc one less entry for line table */
+              prev = item;            /* point item as prev */
+
 	  if (item->pc > pc)
 	    break;
 
