diff options
Diffstat (limited to 'newlib/libc/machine/mn10300/strchr.S')
-rw-r--r-- | newlib/libc/machine/mn10300/strchr.S | 47 |
1 files changed, 40 insertions, 7 deletions
diff --git a/newlib/libc/machine/mn10300/strchr.S b/newlib/libc/machine/mn10300/strchr.S index aa4799091..21d9dc10a 100644 --- a/newlib/libc/machine/mn10300/strchr.S +++ b/newlib/libc/machine/mn10300/strchr.S @@ -6,13 +6,13 @@ _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 -.L24: setlb mov sp,a2 mov d0,d3 @@ -59,13 +59,12 @@ _strchr: beq .L28 .L27: mov a0,a1 -#endif .L20: +#endif movbu (a1),d0 cmp 0,d0 beq .L32 movbu (7,sp),d1 -.L35: setlb cmp d1,d0 beq .L36 @@ -79,10 +78,44 @@ _strchr: cmp d0,d3 beq .L36 mov 0,a0 - jmp .L37 + jmp .Lepilogue .L36: mov a1,a0 -.L37: +.Lepilogue: ret [d2,d3,a2,a3],28 -.Lfe1: - .size _strchr,.Lfe1-_strchr +.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: |