This is the mail archive of the newlib@sourceware.org mailing list for the newlib 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]

RFA: Add debug information to MN10300 machine functions


Hi Jeff,

  Please can apply the attached patch ?  It adds DWARF2 debug
  information to the hand coded MN10300 functions in
  libc/machine/mn10300.  The gas switch --gdwarf-2 is used to add some
  of the information, and the call frame info is just created by hand.

  Tested by building an mn10300-elf toolchain and running the GDB
  testsuite.  It reduced the unexpected failures by about 30.

Cheers
  Nick

newlib/ChangeLog
2007-11-19  Nick Clifton  <nickc@redhat.com>

	* libc/machine/mn10300/Makefile.am (CCASFLAGS): Add -Wa,--gdwarf-2.
	* libc/machine/mn10300/Makefile.in: Regenerate.
	* libc/machine/mn10300/memchar.S: Remove redundant labels.  Add
	.debug_frame section.
	* libc/machine/mn10300/memcmp.S: Likewise.
	* libc/machine/mn10300/memcpy.S: Likewise.
	* libc/machine/mn10300/memset.S: Likewise.
	* libc/machine/mn10300/strchr.S: Likewise.
	* libc/machine/mn10300/strcmp.S: Likewise.
	* libc/machine/mn10300/strcpy.S: Likewise.
	* libc/machine/mn10300/strlen.S: Likewise.

Index: libc/machine/mn10300/Makefile.am
===================================================================
RCS file: /cvs/src/src/newlib/libc/machine/mn10300/Makefile.am,v
retrieving revision 1.4
diff -c -3 -p -r1.4 Makefile.am
*** libc/machine/mn10300/Makefile.am	24 May 2007 17:33:35 -0000	1.4
--- libc/machine/mn10300/Makefile.am	19 Nov 2007 12:04:22 -0000
*************** noinst_LIBRARIES = lib.a
*** 11,17 ****
  lib_a_SOURCES = setjmp.S memchr.S memcmp.S memcpy.S memset.S strchr.S \
  	strcmp.S strcpy.S strlen.S
  lib_a_CFLAGS=$(AM_CFLAGS)
! lib_a_CCASFLAGS=$(AM_CCASFLAGS)
  
  ACLOCAL_AMFLAGS = -I ../../.. -I ../../../..
  CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
--- 11,17 ----
  lib_a_SOURCES = setjmp.S memchr.S memcmp.S memcpy.S memset.S strchr.S \
  	strcmp.S strcpy.S strlen.S
  lib_a_CFLAGS=$(AM_CFLAGS)
! lib_a_CCASFLAGS=$(AM_CCASFLAGS) -Wa,--gdwarf-2
  
  ACLOCAL_AMFLAGS = -I ../../.. -I ../../../..
  CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
Index: libc/machine/mn10300/memchr.S
===================================================================
RCS file: /cvs/src/src/newlib/libc/machine/mn10300/memchr.S,v
retrieving revision 1.1.1.1
diff -c -3 -p -r1.1.1.1 memchr.S
*** libc/machine/mn10300/memchr.S	17 Feb 2000 19:39:47 -0000	1.1.1.1
--- libc/machine/mn10300/memchr.S	19 Nov 2007 12:04:22 -0000
***************
*** 5,10 ****
--- 5,11 ----
  	.type	 _memchr,@function
  _memchr:
  	movm [d2,d3,a2,a3],(sp)
+ .Lend_of_prologue:
  	mov d0,a0
  	mov d1,d2
  	mov (28,sp),a1
*************** _memchr:
*** 17,23 ****
  	mov a0,a2
  	mov 0,a3
  	clr d1
- .L29:
  	setlb
  	mov a3,d0
  	asl 8,d0
--- 18,23 ----
*************** _memchr:
*** 40,50 ****
  	beq .L34
  	mov a2,a0
  	clr d1
- .L38:
  	setlb
  	movbu (a0),d0
  	cmp d2,d0
! 	beq .L47
  	inc a0
  	inc d1
  	cmp 3,d1
--- 40,49 ----
  	beq .L34
  	mov a2,a0
  	clr d1
  	setlb
  	movbu (a0),d0
  	cmp d2,d0
! 	beq .Lepilogue
  	inc a0
  	inc d1
  	cmp 3,d1
*************** _memchr:
*** 56,76 ****
  	bhi .L33
  .L48:
  	mov a2,a0
- #endif
  .L44:
  	cmp 0,a1
  	beq .L50
- .L49:
  	setlb
  	movbu (a0),d0
  	cmp d2,d0
! 	beq .L47
  	inc a0
  	sub 1,a1  
  	lne
  .L50:
  	mov 0,a0
! .L47:
  	ret [d2,d3,a2,a3],16
! .Lfe1:
! 	.size	 _memchr,.Lfe1-_memchr
--- 55,108 ----
  	bhi .L33
  .L48:
  	mov a2,a0
  .L44:
+ #endif
  	cmp 0,a1
  	beq .L50
  	setlb
  	movbu (a0),d0
  	cmp d2,d0
! 	beq .Lepilogue
  	inc a0
  	sub 1,a1  
  	lne
  .L50:
  	mov 0,a0
! .Lepilogue:
  	ret [d2,d3,a2,a3],16
! .Lend_of_memchr:
! 	.size	 _memchr, .Lend_of_memchr - _memchr
! 
! 	.section	.debug_frame,"",@progbits
! .Lstart_of_debug_frame:
! 	# Common Information Entry (CIE)
! 	.4byte	.Lend_of_CIE - .Lstart_of_CIE	# CIE Length
! .Lstart_of_CIE:
! 	.4byte	 0xffffffff			# CIE Identifier Tag
! 	.byte	 0x1				# CIE Version
! 	.ascii   "\0"				# CIE Augmentation
! 	.uleb128 0x1				# CIE Code Alignment Factor
! 	.sleb128 -4				# CIE Data Alignment Factor
! 	.byte	 0x32				# CIE RA Column
! 	.byte	 0xc				# DW_CFA_def_cfa
! 	.uleb128 0x9
! 	.uleb128 0x0
! 	.byte	 0xb2				# DW_CFA_offset, column 0x32
! 	.uleb128 0x0
! 	.align   2
! .Lend_of_CIE:
! 	
! 	# Frame Description Entry (FDE)
! 	.4byte	.Lend_of_FDE - .Lstart_of_FDE	# FDE Length
! .Lstart_of_FDE:
! 	.4byte	 .Lstart_of_debug_frame		# FDE CIE offset
! 	.4byte	 _memchr			# FDE initial location
! 	.4byte	 .Lend_of_memchr - _memchr	# FDE address range
! 	.byte	 0x4				# DW_CFA_advance_loc4
! 	.4byte	 .Lend_of_prologue - _memchr
! 	.byte	 0xe				# DW_CFA_def_cfa_offset
! 	.uleb128 0x4
! 	.byte	 0x87				# DW_CFA_offset, column 0x7
! 	.uleb128 0x1
! 	.align 2
! .Lend_of_FDE:
Index: libc/machine/mn10300/memcmp.S
===================================================================
RCS file: /cvs/src/src/newlib/libc/machine/mn10300/memcmp.S,v
retrieving revision 1.1.1.1
diff -c -3 -p -r1.1.1.1 memcmp.S
*** libc/machine/mn10300/memcmp.S	17 Feb 2000 19:39:47 -0000	1.1.1.1
--- libc/machine/mn10300/memcmp.S	19 Nov 2007 12:04:22 -0000
***************
*** 5,10 ****
--- 5,11 ----
  	.type	 _memcmp,@function
  _memcmp:
  	movm [d2,d3,a2,a3],(sp)
+ .Lend_of_prologue:
  	mov d0,a0
  	mov d1,a1
  	mov (28,sp),a2
*************** _memcmp:
*** 15,21 ****
  	or d2,d0
  	btst 3,d0
  	bne .L22
- .L17:
  	setlb
  	mov (a0),d1
  	mov (a1),d0
--- 16,21 ----
*************** _memcmp:
*** 26,36 ****
  	add -4,a2
  	cmp 3,a2
  	lhi
- #endif
  .L22:
  	cmp 0,a2
  	beq .L24
- .L18:
  	setlb
  	movbu (a0),d3
  	movbu (a1),d2
--- 26,35 ----
  	add -4,a2
  	cmp 3,a2
  	lhi
  .L22:
+ #endif
  	cmp 0,a2
  	beq .L24
  	setlb
  	movbu (a0),d3
  	movbu (a1),d2
*************** _memcmp:
*** 38,53 ****
  	beq .L23
  	mov d3,d0
  	sub d2,d0
! 	jmp .L25
  .L23:
  	inc a0
  	inc a1
- .L26:
  	sub 1,a2
  	lne
  .L24:
  	clr d0
! .L25:
  	ret [d2,d3,a2,a3],16
! .Lfe1:
! 	.size	 _memcmp,.Lfe1-_memcmp
--- 37,85 ----
  	beq .L23
  	mov d3,d0
  	sub d2,d0
! 	jmp .Lepilogue
  .L23:
  	inc a0
  	inc a1
  	sub 1,a2
  	lne
  .L24:
  	clr d0
! .Lepilogue:
  	ret [d2,d3,a2,a3],16
! .Lend_of_func:
! 	.size	 _memcmp, .Lend_of_func - _memcmp
! 
! 	.section	.debug_frame,"",@progbits
! .Lstart_of_debug_frame:
! 	# Common Information Entry (CIE)
! 	.4byte	.Lend_of_CIE - .Lstart_of_CIE	# CIE Length
! .Lstart_of_CIE:
! 	.4byte	 0xffffffff			# CIE Identifier Tag
! 	.byte	 0x1				# CIE Version
! 	.ascii   "\0"				# CIE Augmentation
! 	.uleb128 0x1				# CIE Code Alignment Factor
! 	.sleb128 -4				# CIE Data Alignment Factor
! 	.byte	 0x32				# CIE RA Column
! 	.byte	 0xc				# DW_CFA_def_cfa
! 	.uleb128 0x9
! 	.uleb128 0x0
! 	.byte	 0xb2				# DW_CFA_offset, column 0x32
! 	.uleb128 0x0
! 	.align   2
! .Lend_of_CIE:
! 	
! 	# Frame Description Entry (FDE)
! 	.4byte	.Lend_of_FDE - .Lstart_of_FDE	# FDE Length
! .Lstart_of_FDE:
! 	.4byte	 .Lstart_of_debug_frame		# FDE CIE offset
! 	.4byte	 _memcmp			# FDE initial location
! 	.4byte	 .Lend_of_func - _memcmp	# FDE address range
! 	.byte	 0x4				# DW_CFA_advance_loc4
! 	.4byte	 .Lend_of_prologue - _memcmp
! 	.byte	 0xe				# DW_CFA_def_cfa_offset
! 	.uleb128 0x4
! 	.byte	 0x87				# DW_CFA_offset, column 0x7
! 	.uleb128 0x1
! 	.align 2
! .Lend_of_FDE:
Index: libc/machine/mn10300/memcpy.S
===================================================================
RCS file: /cvs/src/src/newlib/libc/machine/mn10300/memcpy.S,v
retrieving revision 1.1.1.1
diff -c -3 -p -r1.1.1.1 memcpy.S
*** libc/machine/mn10300/memcpy.S	17 Feb 2000 19:39:47 -0000	1.1.1.1
--- libc/machine/mn10300/memcpy.S	19 Nov 2007 12:04:22 -0000
***************
*** 5,10 ****
--- 5,11 ----
  	.type	 _memcpy,@function
  _memcpy:
  	movm [d2,d3,a2,a3],(sp)
+ .Lend_of_prologue:
  	mov d0,d2
  	mov d1,a0
  	mov d2,a1
*************** _memcpy:
*** 16,22 ****
  	bne .L37
  	cmp 15,d1
  	bls .L34
- .L29:
  	setlb
  	mov (a0),d0
  	mov d0,(a1)
--- 17,22 ----
*************** _memcpy:
*** 40,46 ****
  .L34:
  	cmp 3,d1
  	bls .L37
- .L33:
  	setlb
  	mov (a0),d0
  	mov d0,(a1)
--- 40,45 ----
*************** _memcpy:
*** 49,59 ****
  	add -4,d1
  	cmp 3,d1
  	lhi
- #endif
  .L37:
  	cmp 0,d1
  	beq .L36
- .L38:
  	setlb
  	movbu (a0),d0
  	movbu d0,(a1)
--- 48,57 ----
  	add -4,d1
  	cmp 3,d1
  	lhi
  .L37:
+ #endif
  	cmp 0,d1
  	beq .L36
  	setlb
  	movbu (a0),d0
  	movbu d0,(a1)
*************** _memcpy:
*** 63,68 ****
  	lne
  .L36:
  	mov d2,a0
  	ret [d2,d3,a2,a3],16
! .Lfe1:
! 	.size	 _memcpy,.Lfe1-_memcpy
--- 61,101 ----
  	lne
  .L36:
  	mov d2,a0
+ .Lepilogue:
  	ret [d2,d3,a2,a3],16
! .Lend_of_memcpy:
! 	.size	 _memcpy, .Lend_of_memcpy - _memcpy
! 
! 	.section	.debug_frame,"",@progbits
! .Lstart_of_debug_frame:
! 	# Common Information Entry (CIE)
! 	.4byte	.Lend_of_CIE - .Lstart_of_CIE	# CIE Length
! .Lstart_of_CIE:
! 	.4byte	 0xffffffff			# CIE Identifier Tag
! 	.byte	 0x1				# CIE Version
! 	.ascii   "\0"				# CIE Augmentation
! 	.uleb128 0x1				# CIE Code Alignment Factor
! 	.sleb128 -4				# CIE Data Alignment Factor
! 	.byte	 0x32				# CIE RA Column
! 	.byte	 0xc				# DW_CFA_def_cfa
! 	.uleb128 0x9
! 	.uleb128 0x0
! 	.byte	 0xb2				# DW_CFA_offset, column 0x32
! 	.uleb128 0x0
! 	.align   2
! .Lend_of_CIE:
! 	
! 	# Frame Description Entry (FDE)
! 	.4byte	.Lend_of_FDE - .Lstart_of_FDE	# FDE Length
! .Lstart_of_FDE:
! 	.4byte	 .Lstart_of_debug_frame		# FDE CIE offset
! 	.4byte	 _memcpy			# FDE initial location
! 	.4byte	 .Lend_of_memcpy - _memcpy	# FDE address range
! 	.byte	 0x4				# DW_CFA_advance_loc4
! 	.4byte	 .Lend_of_prologue - _memcpy
! 	.byte	 0xe				# DW_CFA_def_cfa_offset
! 	.uleb128 0x4
! 	.byte	 0x87				# DW_CFA_offset, column 0x7
! 	.uleb128 0x1
! 	.align 2
! .Lend_of_FDE:
Index: libc/machine/mn10300/memset.S
===================================================================
RCS file: /cvs/src/src/newlib/libc/machine/mn10300/memset.S,v
retrieving revision 1.1.1.1
diff -c -3 -p -r1.1.1.1 memset.S
*** libc/machine/mn10300/memset.S	17 Feb 2000 19:39:47 -0000	1.1.1.1
--- libc/machine/mn10300/memset.S	19 Nov 2007 12:04:22 -0000
***************
*** 1,63 ****
  	.file "memset.S"
  
  	.section .text
! 	.global _memset
  	.type	 _memset,@function
  _memset:
! 	movm [d2,d3,a2,a3],(sp)
! 	mov d0,d3
! 	mov d1,d2
! 	mov (28,sp),a1
! 	mov d3,a0
  #ifndef __OPTIMIZE_SIZE__
! 	cmp 3,a1
! 	bls .L41
! 	btst 3,d3
! 	bne .L41
  	extbu d2
! 	mov d2,d1
! 	asl 8,d1
! 	or d2,d1
! 	mov d1,d0
! 	asl 16,d0
! 	or d0,d1
! 	cmp 15,a1
! 	bls .L36
! .L33:
  	setlb
! 	mov d1,(a0)
! 	inc4 a0
! 	mov d1,(a0)
! 	inc4 a0
! 	mov d1,(a0)
! 	inc4 a0
! 	mov d1,(a0)
! 	inc4 a0
! 	add -16,a1
! 	cmp 15,a1
  	lhi
  .L36:
! 	cmp 3,a1
! 	bls .L41
! .L37:
  	setlb
! 	mov d1,(a0)
! 	inc4 a0
! 	add -4,a1
! 	cmp 3,a1
  	lhi
- #endif
  .L41:
! 	cmp 0,a1
! 	beq .L47
! .L46:
  	setlb
! 	movbu d2,(a0)
! 	inc a0
! 	sub 1,a1
  	lne
- .L47:
  	mov d3,a0
! 	ret [d2,d3,a2,a3],16
! .Lfe1:
! 	.size	 _memset,.Lfe1-_memset
--- 1,95 ----
  	.file "memset.S"
  
  	.section .text
! 	.global  _memset
  	.type	 _memset,@function
  _memset:
! 	movm  [d2,d3,a2,a3], (sp)
! .Lend_of_prologue:
! 	mov   d0, d3
! 	mov   d1, d2
! 	mov   (28, sp),a1
! 	mov   d3, a0
  #ifndef __OPTIMIZE_SIZE__
! 	cmp   3, a1
! 	bls   .L41
! 	btst  3, d3
! 	bne   .L41
  	extbu d2
! 	mov   d2, d1
! 	asl   8, d1
! 	or    d2, d1
! 	mov   d1, d0
! 	asl   16, d0
! 	or    d0, d1
! 	cmp   15, a1
! 	bls   .L36
  	setlb
! 	mov   d1, (a0)
! 	inc4  a0
! 	mov   d1, (a0)
! 	inc4  a0
! 	mov   d1, (a0)
! 	inc4  a0
! 	mov   d1, (a0)
! 	inc4  a0
! 	add  -16, a1
! 	cmp   15, a1
  	lhi
  .L36:
! 	cmp   3, a1
! 	bls   .L41
  	setlb
! 	mov   d1, (a0)
! 	inc4  a0
! 	add   -4, a1
! 	cmp   3, a1
  	lhi
  .L41:
! #endif
! 	cmp   0, a1
! 	beq   .Lepilogue
  	setlb
! 	movbu d2, (a0)
! 	inc   a0
! 	sub   1, a1
  	lne
  	mov d3,a0
! .Lepilogue:
! 	ret [d2,d3,a2,a3], 16
! .Lend_of_memset:
! 	.size	 _memset, .Lend_of_memset - _memset
! 
! 	.section	.debug_frame,"",@progbits
! .Lstart_of_debug_frame:
! 	# Common Information Entry (CIE)
! 	.4byte	.Lend_of_CIE - .Lstart_of_CIE	# CIE Length
! .Lstart_of_CIE:
! 	.4byte	 0xffffffff			# CIE Identifier Tag
! 	.byte	 0x1				# CIE Version
! 	.ascii   "\0"				# CIE Augmentation
! 	.uleb128 0x1				# CIE Code Alignment Factor
! 	.sleb128 -4				# CIE Data Alignment Factor
! 	.byte	 0x32				# CIE RA Column
! 	.byte	 0xc				# DW_CFA_def_cfa
! 	.uleb128 0x9
! 	.uleb128 0x0
! 	.byte	 0xb2				# DW_CFA_offset, column 0x32
! 	.uleb128 0x0
! 	.align   2
! .Lend_of_CIE:
! 	
! 	# Frame Description Entry (FDE)
! 	.4byte	.Lend_of_FDE - .Lstart_of_FDE	# FDE Length
! .Lstart_of_FDE:
! 	.4byte	 .Lstart_of_debug_frame		# FDE CIE offset
! 	.4byte	 _memset			# FDE initial location
! 	.4byte	 .Lend_of_memset - _memset	# FDE address range
! 	.byte	 0x4				# DW_CFA_advance_loc4
! 	.4byte	 .Lend_of_prologue - _memset
! 	.byte	 0xe				# DW_CFA_def_cfa_offset
! 	.uleb128 0x4
! 	.byte	 0x87				# DW_CFA_offset, column 0x7
! 	.uleb128 0x1
! 	.align 2
! .Lend_of_FDE:
Index: libc/machine/mn10300/strchr.S
===================================================================
RCS file: /cvs/src/src/newlib/libc/machine/mn10300/strchr.S,v
retrieving revision 1.1.1.1
diff -c -3 -p -r1.1.1.1 strchr.S
*** libc/machine/mn10300/strchr.S	17 Feb 2000 19:39:47 -0000	1.1.1.1
--- libc/machine/mn10300/strchr.S	19 Nov 2007 12:04:22 -0000
***************
*** 6,18 ****
  _strchr:
  	movm [d2,d3,a2,a3],(sp)
  	add -12,sp
  	mov d0,a1
  	movbu d1,(7,sp)
  #ifndef __OPTIMIZE_SIZE__
  	btst 3,d0
  	bne .L20
  	clr d0
- .L24:
  	setlb
  	mov sp,a2
  	mov d0,d3
--- 6,18 ----
  _strchr:
  	movm [d2,d3,a2,a3],(sp)
  	add -12,sp
+ .Lend_of_prologue:
  	mov d0,a1
  	movbu d1,(7,sp)
  #ifndef __OPTIMIZE_SIZE__
  	btst 3,d0
  	bne .L20
  	clr d0
  	setlb
  	mov sp,a2
  	mov d0,d3
*************** _strchr:
*** 59,71 ****
  	beq .L28
  .L27:
  	mov a0,a1
- #endif
  .L20:
  	movbu (a1),d0
  	cmp 0,d0
  	beq .L32
  	movbu (7,sp),d1
- .L35:
  	setlb
  	cmp d1,d0
  	beq .L36
--- 59,70 ----
  	beq .L28
  .L27:
  	mov a0,a1
  .L20:
+ #endif
  	movbu (a1),d0
  	cmp 0,d0
  	beq .L32
  	movbu (7,sp),d1
  	setlb
  	cmp d1,d0
  	beq .L36
*************** _strchr:
*** 79,88 ****
  	cmp d0,d3
  	beq .L36
  	mov 0,a0
! 	jmp .L37
  .L36:
  	mov a1,a0
! .L37:
  	ret [d2,d3,a2,a3],28
! .Lfe1:
! 	.size	 _strchr,.Lfe1-_strchr
--- 78,121 ----
  	cmp d0,d3
  	beq .L36
  	mov 0,a0
! 	jmp .Lepilogue
  .L36:
  	mov a1,a0
! .Lepilogue:
  	ret [d2,d3,a2,a3],28
! .Lend_of_strchr:
! 	.size	 _strchr, .Lend_of_strchr - _strchr
! 
! 	.section	.debug_frame,"",@progbits
! .Lstart_of_debug_frame:
! 	# Common Information Entry (CIE)
! 	.4byte	.Lend_of_CIE - .Lstart_of_CIE	# CIE Length
! .Lstart_of_CIE:
! 	.4byte	 0xffffffff			# CIE Identifier Tag
! 	.byte	 0x1				# CIE Version
! 	.ascii   "\0"				# CIE Augmentation
! 	.uleb128 0x1				# CIE Code Alignment Factor
! 	.sleb128 -4				# CIE Data Alignment Factor
! 	.byte	 0x32				# CIE RA Column
! 	.byte	 0xc				# DW_CFA_def_cfa
! 	.uleb128 0x9
! 	.uleb128 0x0
! 	.byte	 0xb2				# DW_CFA_offset, column 0x32
! 	.uleb128 0x0
! 	.align   2
! .Lend_of_CIE:
! 	
! 	# Frame Description Entry (FDE)
! 	.4byte	.Lend_of_FDE - .Lstart_of_FDE	# FDE Length
! .Lstart_of_FDE:
! 	.4byte	 .Lstart_of_debug_frame		# FDE CIE offset
! 	.4byte	 _strchr			# FDE initial location
! 	.4byte	 .Lend_of_strchr - _strchr	# FDE address range
! 	.byte	 0x4				# DW_CFA_advance_loc4
! 	.4byte	 .Lend_of_prologue - _strchr
! 	.byte	 0xe				# DW_CFA_def_cfa_offset
! 	.uleb128 0x4
! 	.byte	 0x87				# DW_CFA_offset, column 0x7
! 	.uleb128 0x1
! 	.align 2
! .Lend_of_FDE:
Index: libc/machine/mn10300/strcmp.S
===================================================================
RCS file: /cvs/src/src/newlib/libc/machine/mn10300/strcmp.S,v
retrieving revision 1.1.1.1
diff -c -3 -p -r1.1.1.1 strcmp.S
*** libc/machine/mn10300/strcmp.S	17 Feb 2000 19:39:47 -0000	1.1.1.1
--- libc/machine/mn10300/strcmp.S	19 Nov 2007 12:04:22 -0000
***************
*** 5,10 ****
--- 5,11 ----
  	.type	 _strcmp,@function
  _strcmp:
  	movm [d2,d3,a2,a3],(sp)
+ .Lend_of_prologue:
  	mov d0,a0
  	mov d1,a1
  #ifndef __OPTIMIZE_SIZE__
*************** _strcmp:
*** 16,22 ****
  	cmp d0,d1
  	bne .L11
  	mov -16843009,d3
- .L5:
  	setlb
  	mov (a0),d0
  	mov d3,d1
--- 17,22 ----
*************** _strcmp:
*** 26,32 ****
  	and -2139062144,d1
  	beq .L6
  	clr d0
! 	jmp .L13
  .L6:
  	inc4 a0
  	inc4 a1
--- 26,32 ----
  	and -2139062144,d1
  	beq .L6
  	clr d0
! 	jmp .Lepilogue
  .L6:
  	inc4 a0
  	inc4 a1
*************** _strcmp:
*** 34,41 ****
  	mov (a1),d0
  	cmp d0,d1
  	leq
- #endif
  .L11:
  	setlb
  	movbu (a1),d2
  	movbu (a0),d0
--- 34,41 ----
  	mov (a1),d0
  	cmp d0,d1
  	leq
  .L11:
+ #endif
  	setlb
  	movbu (a1),d2
  	movbu (a0),d0
*************** _strcmp:
*** 48,54 ****
  	lra
  .L9:
  	sub d2,d0
! .L13:
  	ret [d2,d3,a2,a3],16
! .Lfe1:
! 	.size	 _strcmp,.Lfe1-_strcmp
--- 48,88 ----
  	lra
  .L9:
  	sub d2,d0
! .Lepilogue:
  	ret [d2,d3,a2,a3],16
! .Lend_of_strcmp:
! 	.size	 _strcmp, .Lend_of_strcmp - _strcmp
! 
! 	.section	.debug_frame,"",@progbits
! .Lstart_of_debug_frame:
! 	# Common Information Entry (CIE)
! 	.4byte	.Lend_of_CIE - .Lstart_of_CIE	# CIE Length
! .Lstart_of_CIE:
! 	.4byte	 0xffffffff			# CIE Identifier Tag
! 	.byte	 0x1				# CIE Version
! 	.ascii   "\0"				# CIE Augmentation
! 	.uleb128 0x1				# CIE Code Alignment Factor
! 	.sleb128 -4				# CIE Data Alignment Factor
! 	.byte	 0x32				# CIE RA Column
! 	.byte	 0xc				# DW_CFA_def_cfa
! 	.uleb128 0x9
! 	.uleb128 0x0
! 	.byte	 0xb2				# DW_CFA_offset, column 0x32
! 	.uleb128 0x0
! 	.align   2
! .Lend_of_CIE:
! 	
! 	# Frame Description Entry (FDE)
! 	.4byte	.Lend_of_FDE - .Lstart_of_FDE	# FDE Length
! .Lstart_of_FDE:
! 	.4byte	 .Lstart_of_debug_frame		# FDE CIE offset
! 	.4byte	 _strcmp			# FDE initial location
! 	.4byte	 .Lend_of_strcmp - _strcmp	# FDE address range
! 	.byte	 0x4				# DW_CFA_advance_loc4
! 	.4byte	 .Lend_of_prologue - _strcmp
! 	.byte	 0xe				# DW_CFA_def_cfa_offset
! 	.uleb128 0x4
! 	.byte	 0x87				# DW_CFA_offset, column 0x7
! 	.uleb128 0x1
! 	.align 2
! .Lend_of_FDE:
Index: libc/machine/mn10300/strcpy.S
===================================================================
RCS file: /cvs/src/src/newlib/libc/machine/mn10300/strcpy.S,v
retrieving revision 1.1.1.1
diff -c -3 -p -r1.1.1.1 strcpy.S
*** libc/machine/mn10300/strcpy.S	17 Feb 2000 19:39:47 -0000	1.1.1.1
--- libc/machine/mn10300/strcpy.S	19 Nov 2007 12:04:22 -0000
***************
*** 5,10 ****
--- 5,11 ----
  	.type	 _strcpy,@function
  _strcpy:
  	movm [d2,d3,a2,a3],(sp)
+ .Lend_of_prologue:
  	mov d0,d3
  	mov d1,a0
  	mov d3,a1
*************** _strcpy:
*** 22,28 ****
  	mov -2139062144,d2
  	btst -2139062144,d1
  	bne .L2
- .L5:
  	setlb
  	mov (a0),d0
  	mov d0,(a1)
--- 23,28 ----
*************** _strcpy:
*** 35,43 ****
  	and d0,d1
  	and d2,d1
  	leq
- #endif
  .L2:
! .L7:
  	setlb
  	movbu (a0),d0
  	movbu d0,(a1)
--- 35,42 ----
  	and d0,d1
  	and d2,d1
  	leq
  .L2:
! #endif	
  	setlb
  	movbu (a0),d0
  	movbu d0,(a1)
*************** _strcpy:
*** 46,51 ****
  	cmp 0,d0
  	lne
  	mov d3,a0
  	ret [d2,d3,a2,a3],16
! .Lfe1:
! 	.size	 _strcpy,.Lfe1-_strcpy
--- 45,85 ----
  	cmp 0,d0
  	lne
  	mov d3,a0
+ .Lepilogue:
  	ret [d2,d3,a2,a3],16
! .Lend_of_strcpy:
! 	.size	 _strcpy, .Lend_of_strcpy - _strcpy
! 
! 	.section	.debug_frame,"",@progbits
! .Lstart_of_debug_frame:
! 	# Common Information Entry (CIE)
! 	.4byte	.Lend_of_CIE - .Lstart_of_CIE	# CIE Length
! .Lstart_of_CIE:
! 	.4byte	 0xffffffff			# CIE Identifier Tag
! 	.byte	 0x1				# CIE Version
! 	.ascii   "\0"				# CIE Augmentation
! 	.uleb128 0x1				# CIE Code Alignment Factor
! 	.sleb128 -4				# CIE Data Alignment Factor
! 	.byte	 0x32				# CIE RA Column
! 	.byte	 0xc				# DW_CFA_def_cfa
! 	.uleb128 0x9
! 	.uleb128 0x0
! 	.byte	 0xb2				# DW_CFA_offset, column 0x32
! 	.uleb128 0x0
! 	.align   2
! .Lend_of_CIE:
! 	
! 	# Frame Description Entry (FDE)
! 	.4byte	.Lend_of_FDE - .Lstart_of_FDE	# FDE Length
! .Lstart_of_FDE:
! 	.4byte	 .Lstart_of_debug_frame		# FDE CIE offset
! 	.4byte	 _strcpy			# FDE initial location
! 	.4byte	 .Lend_of_strcpy - _strcpy	# FDE address range
! 	.byte	 0x4				# DW_CFA_advance_loc4
! 	.4byte	 .Lend_of_prologue - _strcpy
! 	.byte	 0xe				# DW_CFA_def_cfa_offset
! 	.uleb128 0x4
! 	.byte	 0x87				# DW_CFA_offset, column 0x7
! 	.uleb128 0x1
! 	.align 2
! .Lend_of_FDE:
Index: libc/machine/mn10300/strlen.S
===================================================================
RCS file: /cvs/src/src/newlib/libc/machine/mn10300/strlen.S,v
retrieving revision 1.1.1.1
diff -c -3 -p -r1.1.1.1 strlen.S
*** libc/machine/mn10300/strlen.S	17 Feb 2000 19:39:47 -0000	1.1.1.1
--- libc/machine/mn10300/strlen.S	19 Nov 2007 12:04:22 -0000
***************
*** 5,10 ****
--- 5,11 ----
  	.type	 _strlen,@function
  _strlen:
  	movm [d2,d3,a2,a3],(sp)
+ .Lend_of_prologue:
  	mov d0,a0
  	mov a0,a2
  #ifndef __OPTIMIZE_SIZE__
*************** _strlen:
*** 19,25 ****
  	mov -2139062144,d2
  	btst -2139062144,d1
  	bne .L21
- .L15:
  	setlb
  	inc4 a0
  	mov (a0),d0
--- 20,25 ----
*************** _strlen:
*** 39,44 ****
  	bne .L19
  	sub a2,a0
  	mov a0,d0
  	ret [d2,d3,a2,a3],16
! .Lfe1:
! 	.size	 _strlen,.Lfe1-_strlen
--- 39,79 ----
  	bne .L19
  	sub a2,a0
  	mov a0,d0
+ .Lepilogue:
  	ret [d2,d3,a2,a3],16
! .Lend_of_strlen:
! 	.size	 _strlen, .Lend_of_strlen - _strlen
! 
! 	.section	.debug_frame,"",@progbits
! .Lstart_of_debug_frame:
! 	# Common Information Entry (CIE)
! 	.4byte	.Lend_of_CIE - .Lstart_of_CIE	# CIE Length
! .Lstart_of_CIE:
! 	.4byte	 0xffffffff			# CIE Identifier Tag
! 	.byte	 0x1				# CIE Version
! 	.ascii   "\0"				# CIE Augmentation
! 	.uleb128 0x1				# CIE Code Alignment Factor
! 	.sleb128 -4				# CIE Data Alignment Factor
! 	.byte	 0x32				# CIE RA Column
! 	.byte	 0xc				# DW_CFA_def_cfa
! 	.uleb128 0x9
! 	.uleb128 0x0
! 	.byte	 0xb2				# DW_CFA_offset, column 0x32
! 	.uleb128 0x0
! 	.align   2
! .Lend_of_CIE:
! 	
! 	# Frame Description Entry (FDE)
! 	.4byte	.Lend_of_FDE - .Lstart_of_FDE	# FDE Length
! .Lstart_of_FDE:
! 	.4byte	 .Lstart_of_debug_frame		# FDE CIE offset
! 	.4byte	 _strlen			# FDE initial location
! 	.4byte	 .Lend_of_strlen - _strlen	# FDE address range
! 	.byte	 0x4				# DW_CFA_advance_loc4
! 	.4byte	 .Lend_of_prologue - _strlen
! 	.byte	 0xe				# DW_CFA_def_cfa_offset
! 	.uleb128 0x4
! 	.byte	 0x87				# DW_CFA_offset, column 0x7
! 	.uleb128 0x1
! 	.align 2
! .Lend_of_FDE:

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