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.
This commit is contained in:
Jeff Johnston 2007-11-19 20:03:25 +00:00
parent 91f2f75ac8
commit 60bef55d30
11 changed files with 388 additions and 98 deletions

View File

@ -1,3 +1,26 @@
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.
2007-11-15 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/sys/_default_fcntl.h: New header file that
is the default version of sys/fcntl.h.
* libc/include/sys/fcntl.h: Changed to simply include
sys/_default_fcntl.h.
* libc/sys/arm/sys/fcntl.h: New file that includes
sys/_default_fcntl.h and defines O_BINARY.
2007-11-08 Corinna Vinschen 2007-11-08 Corinna Vinschen
* libc/include/sys/unistd.h: Remove Cygwin definition of MAXPATHLEN. * libc/include/sys/unistd.h: Remove Cygwin definition of MAXPATHLEN.

View File

@ -11,7 +11,7 @@ noinst_LIBRARIES = lib.a
lib_a_SOURCES = setjmp.S memchr.S memcmp.S memcpy.S memset.S strchr.S \ lib_a_SOURCES = setjmp.S memchr.S memcmp.S memcpy.S memset.S strchr.S \
strcmp.S strcpy.S strlen.S strcmp.S strcpy.S strlen.S
lib_a_CFLAGS=$(AM_CFLAGS) lib_a_CFLAGS=$(AM_CFLAGS)
lib_a_CCASFLAGS=$(AM_CCASFLAGS) lib_a_CCASFLAGS=$(AM_CCASFLAGS) -Wa,--gdwarf-2
ACLOCAL_AMFLAGS = -I ../../.. -I ../../../.. ACLOCAL_AMFLAGS = -I ../../.. -I ../../../..
CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host

View File

@ -132,11 +132,6 @@ STRIP = @STRIP@
USE_LIBTOOL_FALSE = @USE_LIBTOOL_FALSE@ USE_LIBTOOL_FALSE = @USE_LIBTOOL_FALSE@
USE_LIBTOOL_TRUE = @USE_LIBTOOL_TRUE@ USE_LIBTOOL_TRUE = @USE_LIBTOOL_TRUE@
VERSION = @VERSION@ VERSION = @VERSION@
ac_ct_AR = @ac_ct_AR@
ac_ct_AS = @ac_ct_AS@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_READELF = @ac_ct_READELF@
ac_ct_STRIP = @ac_ct_STRIP@
aext = @aext@ aext = @aext@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
@ -152,18 +147,23 @@ build_cpu = @build_cpu@
build_os = @build_os@ build_os = @build_os@
build_vendor = @build_vendor@ build_vendor = @build_vendor@
datadir = @datadir@ datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@ exec_prefix = @exec_prefix@
host = @host@ host = @host@
host_alias = @host_alias@ host_alias = @host_alias@
host_cpu = @host_cpu@ host_cpu = @host_cpu@
host_os = @host_os@ host_os = @host_os@
host_vendor = @host_vendor@ host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@ includedir = @includedir@
infodir = @infodir@ infodir = @infodir@
install_sh = @install_sh@ install_sh = @install_sh@
libdir = @libdir@ libdir = @libdir@
libexecdir = @libexecdir@ libexecdir = @libexecdir@
libm_machine_dir = @libm_machine_dir@ libm_machine_dir = @libm_machine_dir@
localedir = @localedir@
localstatedir = @localstatedir@ localstatedir = @localstatedir@
lpfx = @lpfx@ lpfx = @lpfx@
machine_dir = @machine_dir@ machine_dir = @machine_dir@
@ -172,8 +172,10 @@ mkdir_p = @mkdir_p@
newlib_basedir = @newlib_basedir@ newlib_basedir = @newlib_basedir@
oext = @oext@ oext = @oext@
oldincludedir = @oldincludedir@ oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@ prefix = @prefix@
program_transform_name = @program_transform_name@ program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@ sbindir = @sbindir@
sharedstatedir = @sharedstatedir@ sharedstatedir = @sharedstatedir@
sys_dir = @sys_dir@ sys_dir = @sys_dir@
@ -187,7 +189,7 @@ lib_a_SOURCES = setjmp.S memchr.S memcmp.S memcpy.S memset.S strchr.S \
strcmp.S strcpy.S strlen.S strcmp.S strcpy.S strlen.S
lib_a_CFLAGS = $(AM_CFLAGS) lib_a_CFLAGS = $(AM_CFLAGS)
lib_a_CCASFLAGS = $(AM_CCASFLAGS) lib_a_CCASFLAGS = $(AM_CCASFLAGS) -Wa,--gdwarf-2
ACLOCAL_AMFLAGS = -I ../../.. -I ../../../.. ACLOCAL_AMFLAGS = -I ../../.. -I ../../../..
CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
all: all-am all: all-am

View File

@ -5,6 +5,7 @@
.type _memchr,@function .type _memchr,@function
_memchr: _memchr:
movm [d2,d3,a2,a3],(sp) movm [d2,d3,a2,a3],(sp)
.Lend_of_prologue:
mov d0,a0 mov d0,a0
mov d1,d2 mov d1,d2
mov (28,sp),a1 mov (28,sp),a1
@ -17,7 +18,6 @@ _memchr:
mov a0,a2 mov a0,a2
mov 0,a3 mov 0,a3
clr d1 clr d1
.L29:
setlb setlb
mov a3,d0 mov a3,d0
asl 8,d0 asl 8,d0
@ -40,11 +40,10 @@ _memchr:
beq .L34 beq .L34
mov a2,a0 mov a2,a0
clr d1 clr d1
.L38:
setlb setlb
movbu (a0),d0 movbu (a0),d0
cmp d2,d0 cmp d2,d0
beq .L47 beq .Lepilogue
inc a0 inc a0
inc d1 inc d1
cmp 3,d1 cmp 3,d1
@ -56,21 +55,54 @@ _memchr:
bhi .L33 bhi .L33
.L48: .L48:
mov a2,a0 mov a2,a0
#endif
.L44: .L44:
#endif
cmp 0,a1 cmp 0,a1
beq .L50 beq .L50
.L49:
setlb setlb
movbu (a0),d0 movbu (a0),d0
cmp d2,d0 cmp d2,d0
beq .L47 beq .Lepilogue
inc a0 inc a0
sub 1,a1 sub 1,a1
lne lne
.L50: .L50:
mov 0,a0 mov 0,a0
.L47: .Lepilogue:
ret [d2,d3,a2,a3],16 ret [d2,d3,a2,a3],16
.Lfe1: .Lend_of_memchr:
.size _memchr,.Lfe1-_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:

View File

@ -5,6 +5,7 @@
.type _memcmp,@function .type _memcmp,@function
_memcmp: _memcmp:
movm [d2,d3,a2,a3],(sp) movm [d2,d3,a2,a3],(sp)
.Lend_of_prologue:
mov d0,a0 mov d0,a0
mov d1,a1 mov d1,a1
mov (28,sp),a2 mov (28,sp),a2
@ -15,7 +16,6 @@ _memcmp:
or d2,d0 or d2,d0
btst 3,d0 btst 3,d0
bne .L22 bne .L22
.L17:
setlb setlb
mov (a0),d1 mov (a0),d1
mov (a1),d0 mov (a1),d0
@ -26,11 +26,10 @@ _memcmp:
add -4,a2 add -4,a2
cmp 3,a2 cmp 3,a2
lhi lhi
#endif
.L22: .L22:
#endif
cmp 0,a2 cmp 0,a2
beq .L24 beq .L24
.L18:
setlb setlb
movbu (a0),d3 movbu (a0),d3
movbu (a1),d2 movbu (a1),d2
@ -38,16 +37,49 @@ _memcmp:
beq .L23 beq .L23
mov d3,d0 mov d3,d0
sub d2,d0 sub d2,d0
jmp .L25 jmp .Lepilogue
.L23: .L23:
inc a0 inc a0
inc a1 inc a1
.L26:
sub 1,a2 sub 1,a2
lne lne
.L24: .L24:
clr d0 clr d0
.L25: .Lepilogue:
ret [d2,d3,a2,a3],16 ret [d2,d3,a2,a3],16
.Lfe1: .Lend_of_func:
.size _memcmp,.Lfe1-_memcmp .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:

View File

@ -5,6 +5,7 @@
.type _memcpy,@function .type _memcpy,@function
_memcpy: _memcpy:
movm [d2,d3,a2,a3],(sp) movm [d2,d3,a2,a3],(sp)
.Lend_of_prologue:
mov d0,d2 mov d0,d2
mov d1,a0 mov d1,a0
mov d2,a1 mov d2,a1
@ -16,7 +17,6 @@ _memcpy:
bne .L37 bne .L37
cmp 15,d1 cmp 15,d1
bls .L34 bls .L34
.L29:
setlb setlb
mov (a0),d0 mov (a0),d0
mov d0,(a1) mov d0,(a1)
@ -40,7 +40,6 @@ _memcpy:
.L34: .L34:
cmp 3,d1 cmp 3,d1
bls .L37 bls .L37
.L33:
setlb setlb
mov (a0),d0 mov (a0),d0
mov d0,(a1) mov d0,(a1)
@ -49,11 +48,10 @@ _memcpy:
add -4,d1 add -4,d1
cmp 3,d1 cmp 3,d1
lhi lhi
#endif
.L37: .L37:
#endif
cmp 0,d1 cmp 0,d1
beq .L36 beq .L36
.L38:
setlb setlb
movbu (a0),d0 movbu (a0),d0
movbu d0,(a1) movbu d0,(a1)
@ -63,6 +61,41 @@ _memcpy:
lne lne
.L36: .L36:
mov d2,a0 mov d2,a0
.Lepilogue:
ret [d2,d3,a2,a3],16 ret [d2,d3,a2,a3],16
.Lfe1: .Lend_of_memcpy:
.size _memcpy,.Lfe1-_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:

View File

@ -1,63 +1,95 @@
.file "memset.S" .file "memset.S"
.section .text .section .text
.global _memset .global _memset
.type _memset,@function .type _memset,@function
_memset: _memset:
movm [d2,d3,a2,a3],(sp) movm [d2,d3,a2,a3], (sp)
mov d0,d3 .Lend_of_prologue:
mov d1,d2 mov d0, d3
mov (28,sp),a1 mov d1, d2
mov d3,a0 mov (28, sp),a1
mov d3, a0
#ifndef __OPTIMIZE_SIZE__ #ifndef __OPTIMIZE_SIZE__
cmp 3,a1 cmp 3, a1
bls .L41 bls .L41
btst 3,d3 btst 3, d3
bne .L41 bne .L41
extbu d2 extbu d2
mov d2,d1 mov d2, d1
asl 8,d1 asl 8, d1
or d2,d1 or d2, d1
mov d1,d0 mov d1, d0
asl 16,d0 asl 16, d0
or d0,d1 or d0, d1
cmp 15,a1 cmp 15, a1
bls .L36 bls .L36
.L33:
setlb setlb
mov d1,(a0) mov d1, (a0)
inc4 a0 inc4 a0
mov d1,(a0) mov d1, (a0)
inc4 a0 inc4 a0
mov d1,(a0) mov d1, (a0)
inc4 a0 inc4 a0
mov d1,(a0) mov d1, (a0)
inc4 a0 inc4 a0
add -16,a1 add -16, a1
cmp 15,a1 cmp 15, a1
lhi lhi
.L36: .L36:
cmp 3,a1 cmp 3, a1
bls .L41 bls .L41
.L37:
setlb setlb
mov d1,(a0) mov d1, (a0)
inc4 a0 inc4 a0
add -4,a1 add -4, a1
cmp 3,a1 cmp 3, a1
lhi lhi
#endif
.L41: .L41:
cmp 0,a1 #endif
beq .L47 cmp 0, a1
.L46: beq .Lepilogue
setlb setlb
movbu d2,(a0) movbu d2, (a0)
inc a0 inc a0
sub 1,a1 sub 1, a1
lne lne
.L47:
mov d3,a0 mov d3,a0
ret [d2,d3,a2,a3],16 .Lepilogue:
.Lfe1: ret [d2,d3,a2,a3], 16
.size _memset,.Lfe1-_memset .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:

View File

@ -6,13 +6,13 @@
_strchr: _strchr:
movm [d2,d3,a2,a3],(sp) movm [d2,d3,a2,a3],(sp)
add -12,sp add -12,sp
.Lend_of_prologue:
mov d0,a1 mov d0,a1
movbu d1,(7,sp) movbu d1,(7,sp)
#ifndef __OPTIMIZE_SIZE__ #ifndef __OPTIMIZE_SIZE__
btst 3,d0 btst 3,d0
bne .L20 bne .L20
clr d0 clr d0
.L24:
setlb setlb
mov sp,a2 mov sp,a2
mov d0,d3 mov d0,d3
@ -59,13 +59,12 @@ _strchr:
beq .L28 beq .L28
.L27: .L27:
mov a0,a1 mov a0,a1
#endif
.L20: .L20:
#endif
movbu (a1),d0 movbu (a1),d0
cmp 0,d0 cmp 0,d0
beq .L32 beq .L32
movbu (7,sp),d1 movbu (7,sp),d1
.L35:
setlb setlb
cmp d1,d0 cmp d1,d0
beq .L36 beq .L36
@ -79,10 +78,44 @@ _strchr:
cmp d0,d3 cmp d0,d3
beq .L36 beq .L36
mov 0,a0 mov 0,a0
jmp .L37 jmp .Lepilogue
.L36: .L36:
mov a1,a0 mov a1,a0
.L37: .Lepilogue:
ret [d2,d3,a2,a3],28 ret [d2,d3,a2,a3],28
.Lfe1: .Lend_of_strchr:
.size _strchr,.Lfe1-_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:

View File

@ -5,6 +5,7 @@
.type _strcmp,@function .type _strcmp,@function
_strcmp: _strcmp:
movm [d2,d3,a2,a3],(sp) movm [d2,d3,a2,a3],(sp)
.Lend_of_prologue:
mov d0,a0 mov d0,a0
mov d1,a1 mov d1,a1
#ifndef __OPTIMIZE_SIZE__ #ifndef __OPTIMIZE_SIZE__
@ -16,7 +17,6 @@ _strcmp:
cmp d0,d1 cmp d0,d1
bne .L11 bne .L11
mov -16843009,d3 mov -16843009,d3
.L5:
setlb setlb
mov (a0),d0 mov (a0),d0
mov d3,d1 mov d3,d1
@ -26,7 +26,7 @@ _strcmp:
and -2139062144,d1 and -2139062144,d1
beq .L6 beq .L6
clr d0 clr d0
jmp .L13 jmp .Lepilogue
.L6: .L6:
inc4 a0 inc4 a0
inc4 a1 inc4 a1
@ -34,8 +34,8 @@ _strcmp:
mov (a1),d0 mov (a1),d0
cmp d0,d1 cmp d0,d1
leq leq
#endif
.L11: .L11:
#endif
setlb setlb
movbu (a1),d2 movbu (a1),d2
movbu (a0),d0 movbu (a0),d0
@ -48,7 +48,41 @@ _strcmp:
lra lra
.L9: .L9:
sub d2,d0 sub d2,d0
.L13: .Lepilogue:
ret [d2,d3,a2,a3],16 ret [d2,d3,a2,a3],16
.Lfe1: .Lend_of_strcmp:
.size _strcmp,.Lfe1-_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:

View File

@ -5,6 +5,7 @@
.type _strcpy,@function .type _strcpy,@function
_strcpy: _strcpy:
movm [d2,d3,a2,a3],(sp) movm [d2,d3,a2,a3],(sp)
.Lend_of_prologue:
mov d0,d3 mov d0,d3
mov d1,a0 mov d1,a0
mov d3,a1 mov d3,a1
@ -22,7 +23,6 @@ _strcpy:
mov -2139062144,d2 mov -2139062144,d2
btst -2139062144,d1 btst -2139062144,d1
bne .L2 bne .L2
.L5:
setlb setlb
mov (a0),d0 mov (a0),d0
mov d0,(a1) mov d0,(a1)
@ -35,9 +35,8 @@ _strcpy:
and d0,d1 and d0,d1
and d2,d1 and d2,d1
leq leq
#endif
.L2: .L2:
.L7: #endif
setlb setlb
movbu (a0),d0 movbu (a0),d0
movbu d0,(a1) movbu d0,(a1)
@ -46,6 +45,41 @@ _strcpy:
cmp 0,d0 cmp 0,d0
lne lne
mov d3,a0 mov d3,a0
.Lepilogue:
ret [d2,d3,a2,a3],16 ret [d2,d3,a2,a3],16
.Lfe1: .Lend_of_strcpy:
.size _strcpy,.Lfe1-_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:

View File

@ -5,6 +5,7 @@
.type _strlen,@function .type _strlen,@function
_strlen: _strlen:
movm [d2,d3,a2,a3],(sp) movm [d2,d3,a2,a3],(sp)
.Lend_of_prologue:
mov d0,a0 mov d0,a0
mov a0,a2 mov a0,a2
#ifndef __OPTIMIZE_SIZE__ #ifndef __OPTIMIZE_SIZE__
@ -19,7 +20,6 @@ _strlen:
mov -2139062144,d2 mov -2139062144,d2
btst -2139062144,d1 btst -2139062144,d1
bne .L21 bne .L21
.L15:
setlb setlb
inc4 a0 inc4 a0
mov (a0),d0 mov (a0),d0
@ -39,6 +39,41 @@ _strlen:
bne .L19 bne .L19
sub a2,a0 sub a2,a0
mov a0,d0 mov a0,d0
.Lepilogue:
ret [d2,d3,a2,a3],16 ret [d2,d3,a2,a3],16
.Lfe1: .Lend_of_strlen:
.size _strlen,.Lfe1-_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: