*** src/gas/config/tc-ppc.c.old	Fri Jun 22 12:21:18 2001
--- src/gas/config/tc-ppc.c	Sat Jun 23 04:28:39 2001
*************** ppc_function (ignore)
*** 2899,2905 ****
  }
  
  /* The .bf pseudo-op.  This is just like a COFF C_FCN symbol named
!    ".bf".  */
  
  static void
  ppc_bf (ignore)
--- 2899,2908 ----
  }
  
  /* The .bf pseudo-op.  This is just like a COFF C_FCN symbol named
!    ".bf".  If the pseudo op .bi was seen before .bf, patch the .bi sym
!    with the correct line number */
! 
! static symbolS *saved_bi_sym = 0;
  
  static void
  ppc_bf (ignore)
*************** ppc_bf (ignore)
*** 2918,2923 ****
--- 2921,2933 ----
    S_SET_NUMBER_AUXILIARY (sym, 1);
    SA_SET_SYM_LNNO (sym, coff_line_base);
  
+   /* line number for bi */
+   if (saved_bi_sym) 
+     {
+       S_SET_VALUE (saved_bi_sym, coff_n_line_nos);
+       saved_bi_sym = 0;
+     }
+ 
    symbol_get_tc (sym)->output = 1;
  
    ppc_frob_label (sym);
*************** ppc_ef (ignore)
*** 2951,2957 ****
  
  /* The .bi and .ei pseudo-ops.  These take a string argument and
     generates a C_BINCL or C_EINCL symbol, which goes at the start of
!    the symbol list.  */
  
  static void
  ppc_biei (ei)
--- 2961,2968 ----
  
  /* The .bi and .ei pseudo-ops.  These take a string argument and
     generates a C_BINCL or C_EINCL symbol, which goes at the start of
!    the symbol list.  The value of .bi will be know when the next .bf
!    is encountered.  */
  
  static void
  ppc_biei (ei)
*************** ppc_biei (ei)
*** 2980,2986 ****
  
    S_SET_STORAGE_CLASS (sym, ei ? C_EINCL : C_BINCL);
    symbol_get_tc (sym)->output = 1;
!   
    for (look = last_biei ? last_biei : symbol_rootP;
         (look != (symbolS *) NULL
  	&& (S_GET_STORAGE_CLASS (look) == C_FILE
--- 2991,3003 ----
  
    S_SET_STORAGE_CLASS (sym, ei ? C_EINCL : C_BINCL);
    symbol_get_tc (sym)->output = 1;
!  
!   /* save bi */
!   if (ei) 
!     saved_bi_sym = 0;
!   else
!     saved_bi_sym = sym;
!       
    for (look = last_biei ? last_biei : symbol_rootP;
         (look != (symbolS *) NULL
  	&& (S_GET_STORAGE_CLASS (look) == C_FILE

