This is the mail archive of the
newlib@sourceware.org
mailing list for the newlib project.
RFA: Add debug information to MN10300 machine functions
- From: Nick Clifton <nickc at redhat dot com>
- To: newlib at sourceware dot org
- Date: Mon, 19 Nov 2007 12:19:56 +0000
- Subject: 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: