This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: gas patch: Check TC_EOL_IN_INSN in input-scrub.c


Nick Clifton wrote:
Hi Bernd,

    * input-scrub.c (input_scrub_next_buffer): Use TC_EOL_IN_INSN
    in addition to testing for '\n'.

Approved - please apply.


(I looked at the code and did not see any obvious way to fix this problem other than your solution).

Thanks. I've had to add a default definition of TC_EOL_IN_INSN as it otherwise failed to compile on i686-linux. Here's what I committed.



Bernd


Index: ChangeLog
===================================================================
RCS file: /cvs/src/src/gas/ChangeLog,v
retrieving revision 1.3023
diff -c -p -r1.3023 ChangeLog
*** ChangeLog	13 Oct 2006 11:36:02 -0000	1.3023
--- ChangeLog	16 Oct 2006 11:58:37 -0000
***************
*** 1,3 ****
--- 1,9 ----
+ 2006-10-16  Bernd Schmidt  <bernd.schmidt@analog.com>
+ 
+ 	* input-scrub.c (input_scrub_next_buffer): Use TC_EOL_IN_INSN
+ 	in addition to testing for '\n'.
+ 	(TC_EOL_IN_INSN): Provide a default definition if necessary.
+ 
  2006-10-13  Sterling Augstine  <sterling@tensilica.com>
  
  	* dwarf2dbg.c (out_debug_info): Use TC_DWARF2_EMIT_OFFSET to emit
Index: input-scrub.c
===================================================================
RCS file: /cvs/src/src/gas/input-scrub.c,v
retrieving revision 1.16
diff -c -p -r1.16 input-scrub.c
*** input-scrub.c	7 Jun 2006 11:27:57 -0000	1.16
--- input-scrub.c	16 Oct 2006 11:58:37 -0000
***************
*** 56,61 ****
--- 56,65 ----
  #define BEFORE_SIZE (1)
  #define AFTER_SIZE  (1)
  
+ #ifndef TC_EOL_IN_INSN
+ #define TC_EOL_IN_INSN(P) 0
+ #endif
+ 
  static char *buffer_start;	/*->1st char of full buffer area.  */
  static char *partial_where;	/*->after last full line in buffer.  */
  static int partial_size;	/* >=0. Number of chars in partial line in buffer.  */
*************** input_scrub_next_buffer (char **bufp)
*** 341,348 ****
    if (limit)
      {
        register char *p;		/* Find last newline.  */
! 
!       for (p = limit - 1; *p != '\n'; --p)
  	;
        ++p;
  
--- 345,353 ----
    if (limit)
      {
        register char *p;		/* Find last newline.  */
!       /* Terminate the buffer to avoid confusing TC_EOL_IN_INSN.  */
!       *limit = '\0';
!       for (p = limit - 1; *p != '\n' || TC_EOL_IN_INSN (p); --p)
  	;
        ++p;
  
*************** input_scrub_next_buffer (char **bufp)
*** 368,374 ****
  	      return NULL;
  	    }
  
! 	  for (p = limit - 1; *p != '\n'; --p)
  	    ;
  	  ++p;
  	}
--- 373,381 ----
  	      return NULL;
  	    }
  
! 	  /* Terminate the buffer to avoid confusing TC_EOL_IN_INSN.  */
! 	  *limit = '\0';
! 	  for (p = limit - 1; *p != '\n' || TC_EOL_IN_INSN (p); --p)
  	    ;
  	  ++p;
  	}

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]