This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Patch: add size and type directives to SH lib1funcs.asm
- To: amylaar at redhat dot com
- Subject: Patch: add size and type directives to SH lib1funcs.asm
- From: Andrew Haley <aph at cambridge dot redhat dot com>
- Date: Thu, 23 Aug 2001 14:20:45 +0100 (BST)
- Cc: gcc-patches at gcc dot gnu dot org
This aids debugging and avoids confusion in the dynamic linker.
Andrew.
2001-08-23 Andrew Haley <aph@cambridge.redhat.com>
* config/sh/lib1funcs.asm (all): Add .size and .type information.
Index: config/sh/lib1funcs.asm
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/sh/lib1funcs.asm,v
retrieving revision 1.19
diff -p -2 -c -r1.19 lib1funcs.asm
*** lib1funcs.asm 2001/06/03 22:08:26 1.19
--- lib1funcs.asm 2001/08/23 13:12:14
*************** Boston, MA 02111-1307, USA. */
*** 54,89 ****
--- 54,154 ----
#ifdef L_ashiftrt
.global GLOBAL(ashiftrt_r4_0)
+ .type GLOBAL(ashiftrt_r4_0),@function
+
.global GLOBAL(ashiftrt_r4_1)
+ .type GLOBAL(ashiftrt_r4_1),@function
+
.global GLOBAL(ashiftrt_r4_2)
+ .type GLOBAL(ashiftrt_r4_2),@function
+
.global GLOBAL(ashiftrt_r4_3)
+ .type GLOBAL(ashiftrt_r4_3),@function
+
.global GLOBAL(ashiftrt_r4_4)
+ .type GLOBAL(ashiftrt_r4_4),@function
+
.global GLOBAL(ashiftrt_r4_5)
+ .type GLOBAL(ashiftrt_r4_5),@function
+
.global GLOBAL(ashiftrt_r4_6)
+ .type GLOBAL(ashiftrt_r4_6),@function
+
.global GLOBAL(ashiftrt_r4_7)
+ .type GLOBAL(ashiftrt_r4_7),@function
+
.global GLOBAL(ashiftrt_r4_8)
+ .type GLOBAL(ashiftrt_r4_8),@function
+
.global GLOBAL(ashiftrt_r4_9)
+ .type GLOBAL(ashiftrt_r4_9),@function
+
.global GLOBAL(ashiftrt_r4_10)
+ .type GLOBAL(ashiftrt_r4_10),@function
+
.global GLOBAL(ashiftrt_r4_11)
+ .type GLOBAL(ashiftrt_r4_11),@function
+
.global GLOBAL(ashiftrt_r4_12)
+ .type GLOBAL(ashiftrt_r4_12),@function
+
.global GLOBAL(ashiftrt_r4_13)
+ .type GLOBAL(ashiftrt_r4_13),@function
+
.global GLOBAL(ashiftrt_r4_14)
+ .type GLOBAL(ashiftrt_r4_14),@function
+
.global GLOBAL(ashiftrt_r4_15)
+ .type GLOBAL(ashiftrt_r4_15),@function
+
.global GLOBAL(ashiftrt_r4_16)
+ .type GLOBAL(ashiftrt_r4_16),@function
+
.global GLOBAL(ashiftrt_r4_17)
+ .type GLOBAL(ashiftrt_r4_17),@function
+
.global GLOBAL(ashiftrt_r4_18)
+ .type GLOBAL(ashiftrt_r4_18),@function
+
.global GLOBAL(ashiftrt_r4_19)
+ .type GLOBAL(ashiftrt_r4_19),@function
+
.global GLOBAL(ashiftrt_r4_20)
+ .type GLOBAL(ashiftrt_r4_20),@function
+
.global GLOBAL(ashiftrt_r4_21)
+ .type GLOBAL(ashiftrt_r4_21),@function
+
.global GLOBAL(ashiftrt_r4_22)
+ .type GLOBAL(ashiftrt_r4_22),@function
+
.global GLOBAL(ashiftrt_r4_23)
+ .type GLOBAL(ashiftrt_r4_23),@function
+
.global GLOBAL(ashiftrt_r4_24)
+ .type GLOBAL(ashiftrt_r4_24),@function
+
.global GLOBAL(ashiftrt_r4_25)
+ .type GLOBAL(ashiftrt_r4_25),@function
+
.global GLOBAL(ashiftrt_r4_26)
+ .type GLOBAL(ashiftrt_r4_26),@function
+
.global GLOBAL(ashiftrt_r4_27)
+ .type GLOBAL(ashiftrt_r4_27),@function
+
.global GLOBAL(ashiftrt_r4_28)
+ .type GLOBAL(ashiftrt_r4_28),@function
+
.global GLOBAL(ashiftrt_r4_29)
+ .type GLOBAL(ashiftrt_r4_29),@function
+
.global GLOBAL(ashiftrt_r4_30)
+ .type GLOBAL(ashiftrt_r4_30),@function
+
.global GLOBAL(ashiftrt_r4_31)
+ .type GLOBAL(ashiftrt_r4_31),@function
+
.global GLOBAL(ashiftrt_r4_32)
+ .type GLOBAL(ashiftrt_r4_32),@function
.align 1
*************** GLOBAL(ashiftrt_r4_31):
*** 93,96 ****
--- 158,163 ----
rts
subc r4,r4
+ .size GLOBAL(ashiftrt_r4_31), (.-GLOBAL(ashiftrt_r4_31))
+ .size GLOBAL(ashiftrt_r4_32), (.-GLOBAL(ashiftrt_r4_32))
GLOBAL(ashiftrt_r4_30):
*************** GLOBAL(ashiftrt_r4_24):
*** 111,114 ****
--- 178,188 ----
rts
exts.b r4,r4
+ .size GLOBAL(ashiftrt_r4_24), (.-GLOBAL(ashiftrt_r4_24))
+ .size GLOBAL(ashiftrt_r4_25), (.-GLOBAL(ashiftrt_r4_25))
+ .size GLOBAL(ashiftrt_r4_26), (.-GLOBAL(ashiftrt_r4_26))
+ .size GLOBAL(ashiftrt_r4_27), (.-GLOBAL(ashiftrt_r4_27))
+ .size GLOBAL(ashiftrt_r4_28), (.-GLOBAL(ashiftrt_r4_28))
+ .size GLOBAL(ashiftrt_r4_29), (.-GLOBAL(ashiftrt_r4_29))
+ .size GLOBAL(ashiftrt_r4_30), (.-GLOBAL(ashiftrt_r4_30))
GLOBAL(ashiftrt_r4_23):
*************** GLOBAL(ashiftrt_r4_16):
*** 130,133 ****
--- 204,215 ----
rts
exts.w r4,r4
+ .size GLOBAL(ashiftrt_r4_16), (.-GLOBAL(ashiftrt_r4_16))
+ .size GLOBAL(ashiftrt_r4_17), (.-GLOBAL(ashiftrt_r4_17))
+ .size GLOBAL(ashiftrt_r4_18), (.-GLOBAL(ashiftrt_r4_18))
+ .size GLOBAL(ashiftrt_r4_19), (.-GLOBAL(ashiftrt_r4_19))
+ .size GLOBAL(ashiftrt_r4_20), (.-GLOBAL(ashiftrt_r4_20))
+ .size GLOBAL(ashiftrt_r4_21), (.-GLOBAL(ashiftrt_r4_21))
+ .size GLOBAL(ashiftrt_r4_22), (.-GLOBAL(ashiftrt_r4_22))
+ .size GLOBAL(ashiftrt_r4_23), (.-GLOBAL(ashiftrt_r4_23))
GLOBAL(ashiftrt_r4_15):
*************** GLOBAL(ashiftrt_r4_0):
*** 166,169 ****
--- 248,268 ----
rts
nop
+ .size GLOBAL(ashiftrt_r4_0), (.-GLOBAL(ashiftrt_r4_0))
+ .size GLOBAL(ashiftrt_r4_1), (.-GLOBAL(ashiftrt_r4_1))
+ .size GLOBAL(ashiftrt_r4_2), (.-GLOBAL(ashiftrt_r4_2))
+ .size GLOBAL(ashiftrt_r4_3), (.-GLOBAL(ashiftrt_r4_3))
+ .size GLOBAL(ashiftrt_r4_4), (.-GLOBAL(ashiftrt_r4_4))
+ .size GLOBAL(ashiftrt_r4_5), (.-GLOBAL(ashiftrt_r4_5))
+ .size GLOBAL(ashiftrt_r4_6), (.-GLOBAL(ashiftrt_r4_6))
+ .size GLOBAL(ashiftrt_r4_7), (.-GLOBAL(ashiftrt_r4_7))
+ .size GLOBAL(ashiftrt_r4_8), (.-GLOBAL(ashiftrt_r4_8))
+ .size GLOBAL(ashiftrt_r4_9), (.-GLOBAL(ashiftrt_r4_9))
+ .size GLOBAL(ashiftrt_r4_10), (.-GLOBAL(ashiftrt_r4_10))
+ .size GLOBAL(ashiftrt_r4_11), (.-GLOBAL(ashiftrt_r4_11))
+ .size GLOBAL(ashiftrt_r4_12), (.-GLOBAL(ashiftrt_r4_12))
+ .size GLOBAL(ashiftrt_r4_13), (.-GLOBAL(ashiftrt_r4_13))
+ .size GLOBAL(ashiftrt_r4_14), (.-GLOBAL(ashiftrt_r4_14))
+ .size GLOBAL(ashiftrt_r4_15), (.-GLOBAL(ashiftrt_r4_15))
+
#endif
*************** GLOBAL(ashiftrt_r4_0):
*** 188,191 ****
--- 287,293 ----
.global GLOBAL(ashrsi3)
+ .type GLOBAL(ashrsi3),@function
+
+ .size GLOBAL(ashrsi3), (.-GLOBAL(ashrsi3))
.align 2
GLOBAL(ashrsi3):
*************** LOCAL(ashrsi3_0):
*** 336,339 ****
--- 438,443 ----
!
.global GLOBAL(ashlsi3)
+ .type GLOBAL(ashlsi3),@function
+
.align 2
GLOBAL(ashlsi3):
*************** LOCAL(ashlsi3_0):
*** 471,474 ****
--- 575,579 ----
rts
nop
+ .size GLOBAL(ashlsi3), (.-GLOBAL(ashlsi3))
#endif
*************** LOCAL(ashlsi3_0):
*** 493,496 ****
--- 598,603 ----
!
.global GLOBAL(lshrsi3)
+ .type GLOBAL(lshrsi3),@function
+
.align 2
GLOBAL(lshrsi3):
*************** LOCAL(lshrsi3_0):
*** 628,631 ****
--- 735,739 ----
rts
nop
+ .size GLOBAL(lshrsi3), (.-GLOBAL(lshrsi3))
#endif
*************** done:
*** 645,708 ****
--- 753,848 ----
.align 4
.global GLOBAL(movstrSI64)
+ .type GLOBAL(movstrSI64),@function
+
GLOBAL(movstrSI64):
mov.l @(60,r5),r0
mov.l r0,@(60,r4)
.global GLOBAL(movstrSI60)
+ .type GLOBAL(movstrSI60),@function
+
GLOBAL(movstrSI60):
mov.l @(56,r5),r0
mov.l r0,@(56,r4)
.global GLOBAL(movstrSI56)
+ .type GLOBAL(movstrSI56),@function
+
GLOBAL(movstrSI56):
mov.l @(52,r5),r0
mov.l r0,@(52,r4)
.global GLOBAL(movstrSI52)
+ .type GLOBAL(movstrSI52),@function
+
GLOBAL(movstrSI52):
mov.l @(48,r5),r0
mov.l r0,@(48,r4)
.global GLOBAL(movstrSI48)
+ .type GLOBAL(movstrSI48),@function
+
GLOBAL(movstrSI48):
mov.l @(44,r5),r0
mov.l r0,@(44,r4)
.global GLOBAL(movstrSI44)
+ .type GLOBAL(movstrSI44),@function
+
GLOBAL(movstrSI44):
mov.l @(40,r5),r0
mov.l r0,@(40,r4)
.global GLOBAL(movstrSI40)
+ .type GLOBAL(movstrSI40),@function
+
GLOBAL(movstrSI40):
mov.l @(36,r5),r0
mov.l r0,@(36,r4)
.global GLOBAL(movstrSI36)
+ .type GLOBAL(movstrSI36),@function
+
GLOBAL(movstrSI36):
mov.l @(32,r5),r0
mov.l r0,@(32,r4)
.global GLOBAL(movstrSI32)
+ .type GLOBAL(movstrSI32),@function
+
GLOBAL(movstrSI32):
mov.l @(28,r5),r0
mov.l r0,@(28,r4)
.global GLOBAL(movstrSI28)
+ .type GLOBAL(movstrSI28),@function
+
GLOBAL(movstrSI28):
mov.l @(24,r5),r0
mov.l r0,@(24,r4)
.global GLOBAL(movstrSI24)
+ .type GLOBAL(movstrSI24),@function
+
GLOBAL(movstrSI24):
mov.l @(20,r5),r0
mov.l r0,@(20,r4)
.global GLOBAL(movstrSI20)
+ .type GLOBAL(movstrSI20),@function
+
GLOBAL(movstrSI20):
mov.l @(16,r5),r0
mov.l r0,@(16,r4)
.global GLOBAL(movstrSI16)
+ .type GLOBAL(movstrSI16),@function
+
GLOBAL(movstrSI16):
mov.l @(12,r5),r0
mov.l r0,@(12,r4)
.global GLOBAL(movstrSI12)
+ .type GLOBAL(movstrSI12),@function
+
GLOBAL(movstrSI12):
mov.l @(8,r5),r0
mov.l r0,@(8,r4)
.global GLOBAL(movstrSI8)
+ .type GLOBAL(movstrSI8),@function
+
GLOBAL(movstrSI8):
mov.l @(4,r5),r0
mov.l r0,@(4,r4)
.global GLOBAL(movstrSI4)
+ .type GLOBAL(movstrSI4),@function
+
GLOBAL(movstrSI4):
mov.l @(0,r5),r0
*************** GLOBAL(movstrSI0):
*** 711,718 ****
--- 851,876 ----
rts
nop
+ .size GLOBAL(movstrSI64), (.-GLOBAL(movstrSI64))
+ .size GLOBAL(movstrSI60), (.-GLOBAL(movstrSI60))
+ .size GLOBAL(movstrSI56), (.-GLOBAL(movstrSI56))
+ .size GLOBAL(movstrSI52), (.-GLOBAL(movstrSI52))
+ .size GLOBAL(movstrSI48), (.-GLOBAL(movstrSI48))
+ .size GLOBAL(movstrSI44), (.-GLOBAL(movstrSI44))
+ .size GLOBAL(movstrSI40), (.-GLOBAL(movstrSI40))
+ .size GLOBAL(movstrSI36), (.-GLOBAL(movstrSI36))
+ .size GLOBAL(movstrSI32), (.-GLOBAL(movstrSI32))
+ .size GLOBAL(movstrSI28), (.-GLOBAL(movstrSI28))
+ .size GLOBAL(movstrSI24), (.-GLOBAL(movstrSI24))
+ .size GLOBAL(movstrSI20), (.-GLOBAL(movstrSI20))
+ .size GLOBAL(movstrSI16), (.-GLOBAL(movstrSI16))
+ .size GLOBAL(movstrSI12), (.-GLOBAL(movstrSI12))
+ .size GLOBAL(movstrSI8), (.-GLOBAL(movstrSI8))
+ .size GLOBAL(movstrSI4), (.-GLOBAL(movstrSI4))
.align 4
.global GLOBAL(movstr)
+ .type GLOBAL(movstr),@function
+
GLOBAL(movstr):
mov.l @(60,r5),r0
*************** GLOBAL(movstr):
*** 771,774 ****
--- 929,933 ----
bra GLOBAL(movstr)
add #64,r4
+ .size GLOBAL(movstr), (.-GLOBAL(movstr))
#endif
*************** GLOBAL(movstr):
*** 776,781 ****
--- 935,945 ----
.text
.global GLOBAL(movstr_i4_even)
+ .type GLOBAL(movstr_i4_even),@function
+
.global GLOBAL(movstr_i4_odd)
+ .type GLOBAL(movstr_i4_odd),@function
+
.global GLOBAL(movstrSI12_i4)
+ .type GLOBAL(movstrSI12_i4),@function
.p2align 5
*************** L_movstr_2mod4_end:
*** 787,790 ****
--- 951,959 ----
.p2align 2
+ GLOBAL(movstr_i4_even):
+ mov.l @r5+,r0
+ bra L_movstr_start_even
+ mov.l @r5+,r1
+
GLOBAL(movstr_i4_odd):
mov.l @r5+,r1
*************** L_movstr_start_even:
*** 813,821 ****
mov.l r3,@(12,r4)
- GLOBAL(movstr_i4_even):
- mov.l @r5+,r0
- bra L_movstr_start_even
- mov.l @r5+,r1
-
.p2align 4
GLOBAL(movstrSI12_i4):
--- 982,985 ----
*************** GLOBAL(movstrSI12_i4):
*** 827,830 ****
--- 991,999 ----
rts
mov.l r2,@(8,r4)
+ .size GLOBAL(movstr_i4_even), (.-GLOBAL(movstr_i4_even))
+ .size GLOBAL(movstr_i4_even), (.-GLOBAL(movstr_i4_even))
+ .size GLOBAL(movstr_i4_odd), (.-GLOBAL(movstr_i4_odd))
+ .size GLOBAL(movstrSI12_i4), (.-GLOBAL(movstrSI12_i4))
+
#endif
*************** GLOBAL(movstrSI12_i4):
*** 833,836 ****
--- 1002,1006 ----
.global GLOBAL(mulsi3)
+ .type GLOBAL(mulsi3),@function
! r4 = aabb
*************** hiset: sts macl,r0 ! r0 = bb*dd
*** 865,868 ****
--- 1035,1039 ----
add r2,r0
+ .size GLOBAL(mulsi3), (.-GLOBAL(mulsi3))
#endif
*************** hiset: sts macl,r0 ! r0 = bb*dd
*** 874,877 ****
--- 1045,1050 ----
.global GLOBAL(sdivsi3_i4)
+ .type GLOBAL(sdivsi3_i4),@function
+
GLOBAL(sdivsi3_i4):
lds r4,fpul
*************** GLOBAL(sdivsi3_i4):
*** 882,885 ****
--- 1055,1059 ----
rts
ftrc dr0,fpul
+ .size GLOBAL(sdivsi3_i4), (.-GLOBAL(sdivsi3_i4))
#elif defined(__SH4_SINGLE__) || defined(__SH4_SINGLE_ONLY__)
*************** GLOBAL(sdivsi3_i4):
*** 887,890 ****
--- 1061,1066 ----
.global GLOBAL(sdivsi3_i4)
+ .type GLOBAL(sdivsi3_i4),@function
+
GLOBAL(sdivsi3_i4):
sts.l fpscr,@-r15
*************** GLOBAL(sdivsi3_i4):
*** 900,903 ****
--- 1076,1080 ----
rts
lds.l @r15+,fpscr
+ .size GLOBAL(sdivsi3_i4), (.-GLOBAL(sdivsi3_i4))
#endif /* ! __SH4__ */
*************** GLOBAL(sdivsi3_i4):
*** 917,920 ****
--- 1094,1099 ----
.global GLOBAL(sdivsi3)
+ .type GLOBAL(sdivsi3),@function
+
GLOBAL(sdivsi3):
mov r4,r1
*************** GLOBAL(sdivsi3):
*** 1000,1003 ****
--- 1179,1183 ----
div0: rts
mov #0,r0
+ .size GLOBAL(sdivsi3), (.-GLOBAL(sdivsi3))
#endif /* ! __SH4__ */
*************** div0: rts
*** 1011,1014 ****
--- 1191,1196 ----
.global GLOBAL(udivsi3_i4)
+ .type GLOBAL(udivsi3_i4),@function
+
GLOBAL(udivsi3_i4):
mov #1,r1
*************** trivial:
*** 1050,1053 ****
--- 1232,1236 ----
L1:
.double 2147483648
+ .size GLOBAL(udivsi3_i4), (.-GLOBAL(udivsi3_i4))
#elif defined(__SH4_SINGLE__) || defined(__SH4_SINGLE_ONLY__)
*************** L1:
*** 1055,1058 ****
--- 1238,1243 ----
.global GLOBAL(udivsi3_i4)
+ .type GLOBAL(udivsi3_i4),@function
+
GLOBAL(udivsi3_i4):
mov #1,r1
*************** L1:
*** 1104,1107 ****
--- 1289,1293 ----
#endif /* ! __SH4__ */
+ .size GLOBAL(udivsi3_i4), (.-GLOBAL(udivsi3_i4))
#endif
*************** L1:
*** 1118,1121 ****
--- 1304,1308 ----
!! args in r4 and r5, result in r0, clobbers r4, pr, and t bit
.global GLOBAL(udivsi3)
+ .type GLOBAL(udivsi3),@function
GLOBAL(udivsi3):
*************** ret: rts
*** 1167,1175 ****
mov r4,r0
#endif /* __SH4__ */
#endif
#ifdef L_set_fpscr
#if defined (__SH3E__) || defined(__SH4_SINGLE__) || defined(__SH4__) || defined(__SH4_SINGLE_ONLY__)
! .global GLOBAL(set_fpscr)
GLOBAL(set_fpscr):
lds r4,fpscr
--- 1354,1366 ----
mov r4,r0
+ .size GLOBAL(udivsi3), (.-GLOBAL(udivsi3))
+
#endif /* __SH4__ */
#endif
#ifdef L_set_fpscr
#if defined (__SH3E__) || defined(__SH4_SINGLE__) || defined(__SH4__) || defined(__SH4_SINGLE_ONLY__)
! .global GLOBAL(set_fpscr)
! .type GLOBAL(set_fpscr),@function
!
GLOBAL(set_fpscr):
lds r4,fpscr
*************** LOCAL(set_fpscr_L1):
*** 1209,1217 ****
.comm GLOBAL(fpscr_values),8
#endif /* ELF */
#endif /* SH3E / SH4 */
#endif /* L_set_fpscr */
#ifdef L_ic_invalidate
#if defined(__SH4_SINGLE__) || defined(__SH4__) || defined(__SH4_SINGLE_ONLY__)
! .global GLOBAL(ic_invalidate)
GLOBAL(ic_invalidate):
ocbwb @r4
--- 1400,1411 ----
.comm GLOBAL(fpscr_values),8
#endif /* ELF */
+ .size GLOBAL(set_fpscr), (.-GLOBAL(set_fpscr))
#endif /* SH3E / SH4 */
#endif /* L_set_fpscr */
#ifdef L_ic_invalidate
#if defined(__SH4_SINGLE__) || defined(__SH4__) || defined(__SH4_SINGLE_ONLY__)
! .global GLOBAL(ic_invalidate)
! .type GLOBAL(ic_invalidate),@function
!
GLOBAL(ic_invalidate):
ocbwb @r4
*************** GLOBAL(ic_invalidate):
*** 1237,1239 ****
--- 1431,1434 ----
.endr
#endif /* SH4 */
+ .size GLOBAL(ic_invalidate), (.-GLOBAL(ic_invalidate))
#endif /* L_ic_invalidate */