patches/gcc/3.3.3/sh-lib1funcs_sizeAndType.patch
changeset 330 447b203edc2e
parent 329 419d959441ed
child 331 0c05f9ea3254
     1.1 --- a/patches/gcc/3.3.3/sh-lib1funcs_sizeAndType.patch	Tue Aug 14 19:32:22 2007 +0000
     1.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.3 @@ -1,610 +0,0 @@
     1.4 -Fixes the problem
     1.5 -	[ libdemo.so and main.o both use assignment on structures ]
     1.6 -	$ sh4-unknown-linux-gnu-gcc libdemo.so main.o
     1.7 -	sh4-unknown-linux-gnu/bin/ld: warning: type and size of dynamic symbol `__movstr_i4_even' are not defined
     1.8 -	[ resulting app links, but crashes at runtime ]
     1.9 -See testcase at http://tsukuba.m17n.org/linux-sh/ml/linux-sh/2003-11/msg00016.html
    1.10 -
    1.11 -Patch was posted as http://gcc.gnu.org/ml/gcc-patches/2002-11/msg01641.html
    1.12 -and is in cvs as http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/sh/lib1funcs.asm.diff?r1=1.29.4.1&r2=1.29.4.2
    1.13 -
    1.14 -but see also sh-libgcc-hidden.patch (part of gcc-3.3.3 as of 20040119 or so)
    1.15 -
    1.16 -===================================================================
    1.17 -
    1.18 ---- gcc/gcc/config/sh/lib1funcs.asm	2002/09/20 01:29:21	1.29.4.1
    1.19 -+++ gcc/gcc/config/sh/lib1funcs.asm	2003/11/18 12:27:31
    1.20 -@@ -38,9 +38,14 @@
    1.21 -    amylaar@cygnus.com  */
    1.22 - 
    1.23 - #ifdef __ELF__
    1.24 --#define LOCAL(X) .L_##X
    1.25 --#else
    1.26 --#define LOCAL(X) L_##X
    1.27 -+#define LOCAL(X)	.L_##X
    1.28 -+#define FUNC(X)		.type X,@function
    1.29 -+#define ENDFUNC0(X)	.Lfe_##X: .size X,.Lfe_##X-X
    1.30 -+#define ENDFUNC(X)	ENDFUNC0(X)
    1.31 -+#else
    1.32 -+#define LOCAL(X)	L_##X
    1.33 -+#define FUNC(X)
    1.34 -+#define ENDFUNC(X)
    1.35 - #endif
    1.36 - 
    1.37 - #define	CONCAT(A,B)	A##B
    1.38 -@@ -87,6 +92,40 @@
    1.39 - 	.global	GLOBAL(ashiftrt_r4_31)
    1.40 - 	.global	GLOBAL(ashiftrt_r4_32)
    1.41 - 
    1.42 -+	FUNC(GLOBAL(ashiftrt_r4_0))
    1.43 -+	FUNC(GLOBAL(ashiftrt_r4_1))
    1.44 -+	FUNC(GLOBAL(ashiftrt_r4_2))
    1.45 -+	FUNC(GLOBAL(ashiftrt_r4_3))
    1.46 -+	FUNC(GLOBAL(ashiftrt_r4_4))
    1.47 -+	FUNC(GLOBAL(ashiftrt_r4_5))
    1.48 -+	FUNC(GLOBAL(ashiftrt_r4_6))
    1.49 -+	FUNC(GLOBAL(ashiftrt_r4_7))
    1.50 -+	FUNC(GLOBAL(ashiftrt_r4_8))
    1.51 -+	FUNC(GLOBAL(ashiftrt_r4_9))
    1.52 -+	FUNC(GLOBAL(ashiftrt_r4_10))
    1.53 -+	FUNC(GLOBAL(ashiftrt_r4_11))
    1.54 -+	FUNC(GLOBAL(ashiftrt_r4_12))
    1.55 -+	FUNC(GLOBAL(ashiftrt_r4_13))
    1.56 -+	FUNC(GLOBAL(ashiftrt_r4_14))
    1.57 -+	FUNC(GLOBAL(ashiftrt_r4_15))
    1.58 -+	FUNC(GLOBAL(ashiftrt_r4_16))
    1.59 -+	FUNC(GLOBAL(ashiftrt_r4_17))
    1.60 -+	FUNC(GLOBAL(ashiftrt_r4_18))
    1.61 -+	FUNC(GLOBAL(ashiftrt_r4_19))
    1.62 -+	FUNC(GLOBAL(ashiftrt_r4_20))
    1.63 -+	FUNC(GLOBAL(ashiftrt_r4_21))
    1.64 -+	FUNC(GLOBAL(ashiftrt_r4_22))
    1.65 -+	FUNC(GLOBAL(ashiftrt_r4_23))
    1.66 -+	FUNC(GLOBAL(ashiftrt_r4_24))
    1.67 -+	FUNC(GLOBAL(ashiftrt_r4_25))
    1.68 -+	FUNC(GLOBAL(ashiftrt_r4_26))
    1.69 -+	FUNC(GLOBAL(ashiftrt_r4_27))
    1.70 -+	FUNC(GLOBAL(ashiftrt_r4_28))
    1.71 -+	FUNC(GLOBAL(ashiftrt_r4_29))
    1.72 -+	FUNC(GLOBAL(ashiftrt_r4_30))
    1.73 -+	FUNC(GLOBAL(ashiftrt_r4_31))
    1.74 -+	FUNC(GLOBAL(ashiftrt_r4_32))
    1.75 -+
    1.76 - 	.align	1
    1.77 - GLOBAL(ashiftrt_r4_32):
    1.78 - GLOBAL(ashiftrt_r4_31):
    1.79 -@@ -166,6 +205,40 @@
    1.80 - GLOBAL(ashiftrt_r4_0):
    1.81 - 	rts
    1.82 - 	nop
    1.83 -+
    1.84 -+	ENDFUNC(GLOBAL(ashiftrt_r4_0))
    1.85 -+	ENDFUNC(GLOBAL(ashiftrt_r4_1))
    1.86 -+	ENDFUNC(GLOBAL(ashiftrt_r4_2))
    1.87 -+	ENDFUNC(GLOBAL(ashiftrt_r4_3))
    1.88 -+	ENDFUNC(GLOBAL(ashiftrt_r4_4))
    1.89 -+	ENDFUNC(GLOBAL(ashiftrt_r4_5))
    1.90 -+	ENDFUNC(GLOBAL(ashiftrt_r4_6))
    1.91 -+	ENDFUNC(GLOBAL(ashiftrt_r4_7))
    1.92 -+	ENDFUNC(GLOBAL(ashiftrt_r4_8))
    1.93 -+	ENDFUNC(GLOBAL(ashiftrt_r4_9))
    1.94 -+	ENDFUNC(GLOBAL(ashiftrt_r4_10))
    1.95 -+	ENDFUNC(GLOBAL(ashiftrt_r4_11))
    1.96 -+	ENDFUNC(GLOBAL(ashiftrt_r4_12))
    1.97 -+	ENDFUNC(GLOBAL(ashiftrt_r4_13))
    1.98 -+	ENDFUNC(GLOBAL(ashiftrt_r4_14))
    1.99 -+	ENDFUNC(GLOBAL(ashiftrt_r4_15))
   1.100 -+	ENDFUNC(GLOBAL(ashiftrt_r4_16))
   1.101 -+	ENDFUNC(GLOBAL(ashiftrt_r4_17))
   1.102 -+	ENDFUNC(GLOBAL(ashiftrt_r4_18))
   1.103 -+	ENDFUNC(GLOBAL(ashiftrt_r4_19))
   1.104 -+	ENDFUNC(GLOBAL(ashiftrt_r4_20))
   1.105 -+	ENDFUNC(GLOBAL(ashiftrt_r4_21))
   1.106 -+	ENDFUNC(GLOBAL(ashiftrt_r4_22))
   1.107 -+	ENDFUNC(GLOBAL(ashiftrt_r4_23))
   1.108 -+	ENDFUNC(GLOBAL(ashiftrt_r4_24))
   1.109 -+	ENDFUNC(GLOBAL(ashiftrt_r4_25))
   1.110 -+	ENDFUNC(GLOBAL(ashiftrt_r4_26))
   1.111 -+	ENDFUNC(GLOBAL(ashiftrt_r4_27))
   1.112 -+	ENDFUNC(GLOBAL(ashiftrt_r4_28))
   1.113 -+	ENDFUNC(GLOBAL(ashiftrt_r4_29))
   1.114 -+	ENDFUNC(GLOBAL(ashiftrt_r4_30))
   1.115 -+	ENDFUNC(GLOBAL(ashiftrt_r4_31))
   1.116 -+	ENDFUNC(GLOBAL(ashiftrt_r4_32))
   1.117 - #endif
   1.118 - 
   1.119 - #ifdef L_ashiftrt_n
   1.120 -@@ -188,6 +261,7 @@
   1.121 - !
   1.122 - 
   1.123 - 	.global	GLOBAL(ashrsi3)
   1.124 -+	FUNC(GLOBAL(ashrsi3))
   1.125 - 	.align	2
   1.126 - GLOBAL(ashrsi3):
   1.127 - 	mov	#31,r0
   1.128 -@@ -315,6 +389,7 @@
   1.129 - 	rts
   1.130 - 	nop
   1.131 - 
   1.132 -+	ENDFUNC(GLOBAL(ashrsi3))
   1.133 - #endif
   1.134 - 
   1.135 - #ifdef L_ashiftlt
   1.136 -@@ -336,6 +411,7 @@
   1.137 - ! (none)
   1.138 - !
   1.139 - 	.global	GLOBAL(ashlsi3)
   1.140 -+	FUNC(GLOBAL(ashlsi3))
   1.141 - 	.align	2
   1.142 - GLOBAL(ashlsi3):
   1.143 - 	mov	#31,r0
   1.144 -@@ -472,6 +548,7 @@
   1.145 - 	rts
   1.146 - 	nop
   1.147 - 
   1.148 -+	ENDFUNC(GLOBAL(ashlsi3))
   1.149 - #endif
   1.150 - 
   1.151 - #ifdef L_lshiftrt
   1.152 -@@ -493,6 +570,7 @@
   1.153 - ! (none)
   1.154 - !
   1.155 - 	.global	GLOBAL(lshrsi3)
   1.156 -+	FUNC(GLOBAL(lshrsi3))
   1.157 - 	.align	2
   1.158 - GLOBAL(lshrsi3):
   1.159 - 	mov	#31,r0
   1.160 -@@ -629,6 +707,7 @@
   1.161 - 	rts
   1.162 - 	nop
   1.163 - 
   1.164 -+	ENDFUNC(GLOBAL(lshrsi3))
   1.165 - #endif
   1.166 - 
   1.167 - #ifdef L_movstr
   1.168 -@@ -645,76 +724,113 @@
   1.169 - 	add	#64,r4
   1.170 - 	.align	4
   1.171 - 	.global	GLOBAL(movstrSI64)
   1.172 -+	FUNC(GLOBAL(movstrSI64))
   1.173 - GLOBAL(movstrSI64):
   1.174 - 	mov.l	@(60,r5),r0
   1.175 - 	mov.l	r0,@(60,r4)
   1.176 - 	.global	GLOBAL(movstrSI60)
   1.177 -+	FUNC(GLOBAL(movstrSI60))
   1.178 - GLOBAL(movstrSI60):
   1.179 - 	mov.l	@(56,r5),r0
   1.180 - 	mov.l	r0,@(56,r4)
   1.181 - 	.global	GLOBAL(movstrSI56)
   1.182 -+	FUNC(GLOBAL(movstrSI56))
   1.183 - GLOBAL(movstrSI56):
   1.184 - 	mov.l	@(52,r5),r0
   1.185 - 	mov.l	r0,@(52,r4)
   1.186 - 	.global	GLOBAL(movstrSI52)
   1.187 -+	FUNC(GLOBAL(movstrSI52))
   1.188 - GLOBAL(movstrSI52):
   1.189 - 	mov.l	@(48,r5),r0
   1.190 - 	mov.l	r0,@(48,r4)
   1.191 - 	.global	GLOBAL(movstrSI48)
   1.192 -+	FUNC(GLOBAL(movstrSI48))
   1.193 - GLOBAL(movstrSI48):
   1.194 - 	mov.l	@(44,r5),r0
   1.195 - 	mov.l	r0,@(44,r4)
   1.196 - 	.global	GLOBAL(movstrSI44)
   1.197 -+	FUNC(GLOBAL(movstrSI44))
   1.198 - GLOBAL(movstrSI44):
   1.199 - 	mov.l	@(40,r5),r0
   1.200 - 	mov.l	r0,@(40,r4)
   1.201 - 	.global	GLOBAL(movstrSI40)
   1.202 -+	FUNC(GLOBAL(movstrSI40))
   1.203 - GLOBAL(movstrSI40):
   1.204 - 	mov.l	@(36,r5),r0
   1.205 - 	mov.l	r0,@(36,r4)
   1.206 - 	.global	GLOBAL(movstrSI36)
   1.207 -+	FUNC(GLOBAL(movstrSI36))
   1.208 - GLOBAL(movstrSI36):
   1.209 - 	mov.l	@(32,r5),r0
   1.210 - 	mov.l	r0,@(32,r4)
   1.211 - 	.global	GLOBAL(movstrSI32)
   1.212 -+	FUNC(GLOBAL(movstrSI32))
   1.213 - GLOBAL(movstrSI32):
   1.214 - 	mov.l	@(28,r5),r0
   1.215 - 	mov.l	r0,@(28,r4)
   1.216 - 	.global	GLOBAL(movstrSI28)
   1.217 -+	FUNC(GLOBAL(movstrSI28))
   1.218 - GLOBAL(movstrSI28):
   1.219 - 	mov.l	@(24,r5),r0
   1.220 - 	mov.l	r0,@(24,r4)
   1.221 - 	.global	GLOBAL(movstrSI24)
   1.222 -+	FUNC(GLOBAL(movstrSI24))
   1.223 - GLOBAL(movstrSI24):
   1.224 - 	mov.l	@(20,r5),r0
   1.225 - 	mov.l	r0,@(20,r4)
   1.226 - 	.global	GLOBAL(movstrSI20)
   1.227 -+	FUNC(GLOBAL(movstrSI20))
   1.228 - GLOBAL(movstrSI20):
   1.229 - 	mov.l	@(16,r5),r0
   1.230 - 	mov.l	r0,@(16,r4)
   1.231 - 	.global	GLOBAL(movstrSI16)
   1.232 -+	FUNC(GLOBAL(movstrSI16))
   1.233 - GLOBAL(movstrSI16):
   1.234 - 	mov.l	@(12,r5),r0
   1.235 - 	mov.l	r0,@(12,r4)
   1.236 - 	.global	GLOBAL(movstrSI12)
   1.237 -+	FUNC(GLOBAL(movstrSI12))
   1.238 - GLOBAL(movstrSI12):
   1.239 - 	mov.l	@(8,r5),r0
   1.240 - 	mov.l	r0,@(8,r4)
   1.241 - 	.global	GLOBAL(movstrSI8)
   1.242 -+	FUNC(GLOBAL(movstrSI8))
   1.243 - GLOBAL(movstrSI8):
   1.244 - 	mov.l	@(4,r5),r0
   1.245 - 	mov.l	r0,@(4,r4)
   1.246 - 	.global	GLOBAL(movstrSI4)
   1.247 -+	FUNC(GLOBAL(movstrSI4))
   1.248 - GLOBAL(movstrSI4):
   1.249 - 	mov.l	@(0,r5),r0
   1.250 - 	mov.l	r0,@(0,r4)
   1.251 -+	.global	GLOBAL(movstrSI0)
   1.252 -+	FUNC(GLOBAL(movstrSI0))
   1.253 - GLOBAL(movstrSI0):
   1.254 - 	rts
   1.255 - 	nop
   1.256 - 
   1.257 -+	ENDFUNC(GLOBAL(movstrSI64))
   1.258 -+	ENDFUNC(GLOBAL(movstrSI60))
   1.259 -+	ENDFUNC(GLOBAL(movstrSI56))
   1.260 -+	ENDFUNC(GLOBAL(movstrSI52))
   1.261 -+	ENDFUNC(GLOBAL(movstrSI48))
   1.262 -+	ENDFUNC(GLOBAL(movstrSI44))
   1.263 -+	ENDFUNC(GLOBAL(movstrSI40))
   1.264 -+	ENDFUNC(GLOBAL(movstrSI36))
   1.265 -+	ENDFUNC(GLOBAL(movstrSI32))
   1.266 -+	ENDFUNC(GLOBAL(movstrSI28))
   1.267 -+	ENDFUNC(GLOBAL(movstrSI24))
   1.268 -+	ENDFUNC(GLOBAL(movstrSI20))
   1.269 -+	ENDFUNC(GLOBAL(movstrSI16))
   1.270 -+	ENDFUNC(GLOBAL(movstrSI12))
   1.271 -+	ENDFUNC(GLOBAL(movstrSI8))
   1.272 -+	ENDFUNC(GLOBAL(movstrSI4))
   1.273 -+	ENDFUNC(GLOBAL(movstrSI0))
   1.274 -+
   1.275 - 	.align	4
   1.276 - 
   1.277 - 	.global	GLOBAL(movstr)
   1.278 -+	FUNC(GLOBAL(movstr))
   1.279 - GLOBAL(movstr):
   1.280 - 	mov.l	@(60,r5),r0
   1.281 - 	mov.l	r0,@(60,r4)
   1.282 -@@ -771,6 +887,8 @@
   1.283 - 	add	#64,r5
   1.284 - 	bra	GLOBAL(movstr)
   1.285 - 	add	#64,r4
   1.286 -+
   1.287 -+	FUNC(GLOBAL(movstr))
   1.288 - #endif
   1.289 - 
   1.290 - #ifdef L_movstr_i4
   1.291 -@@ -779,6 +897,10 @@
   1.292 - 	.global	GLOBAL(movstr_i4_odd)
   1.293 - 	.global	GLOBAL(movstrSI12_i4)
   1.294 - 
   1.295 -+	FUNC(GLOBAL(movstr_i4_even))
   1.296 -+	FUNC(GLOBAL(movstr_i4_odd))
   1.297 -+	FUNC(GLOBAL(movstrSI12_i4))
   1.298 -+
   1.299 - 	.p2align	5
   1.300 - L_movstr_2mod4_end:
   1.301 - 	mov.l	r0,@(16,r4)
   1.302 -@@ -787,6 +909,11 @@
   1.303 - 
   1.304 - 	.p2align	2
   1.305 - 
   1.306 -+GLOBAL(movstr_i4_even):
   1.307 -+	mov.l	@r5+,r0
   1.308 -+	bra	L_movstr_start_even
   1.309 -+	mov.l	@r5+,r1
   1.310 -+
   1.311 - GLOBAL(movstr_i4_odd):
   1.312 - 	mov.l	@r5+,r1
   1.313 - 	add	#-4,r4
   1.314 -@@ -813,10 +940,8 @@
   1.315 - 	rts
   1.316 - 	mov.l	r3,@(12,r4)
   1.317 - 
   1.318 --GLOBAL(movstr_i4_even):
   1.319 --	mov.l	@r5+,r0
   1.320 --	bra	L_movstr_start_even
   1.321 --	mov.l	@r5+,r1
   1.322 -+	ENDFUNC(GLOBAL(movstr_i4_even))
   1.323 -+	ENDFUNC(GLOBAL(movstr_i4_odd))
   1.324 - 
   1.325 - 	.p2align	4
   1.326 - GLOBAL(movstrSI12_i4):
   1.327 -@@ -827,12 +952,15 @@
   1.328 - 	mov.l	r1,@(4,r4)
   1.329 - 	rts
   1.330 - 	mov.l	r2,@(8,r4)
   1.331 -+
   1.332 -+	ENDFUNC(GLOBAL(movstrSI12_i4))
   1.333 - #endif
   1.334 - 
   1.335 - #ifdef L_mulsi3
   1.336 - 
   1.337 - 
   1.338 - 	.global	GLOBAL(mulsi3)
   1.339 -+	FUNC(GLOBAL(mulsi3))
   1.340 - 
   1.341 - ! r4 =       aabb
   1.342 - ! r5 =       ccdd
   1.343 -@@ -865,7 +993,7 @@
   1.344 - 	rts
   1.345 - 	add	r2,r0
   1.346 - 
   1.347 --
   1.348 -+	FUNC(GLOBAL(mulsi3))
   1.349 - #endif
   1.350 - #endif /* ! __SH5__ */
   1.351 - #ifdef L_sdivsi3_i4
   1.352 -@@ -875,6 +1003,7 @@
   1.353 - !! args in r4 and r5, result in fpul, clobber dr0, dr2
   1.354 - 
   1.355 - 	.global	GLOBAL(sdivsi3_i4)
   1.356 -+	FUNC(GLOBAL(sdivsi3_i4))
   1.357 - GLOBAL(sdivsi3_i4):
   1.358 - 	lds r4,fpul
   1.359 - 	float fpul,dr0
   1.360 -@@ -884,6 +1013,7 @@
   1.361 - 	rts
   1.362 - 	ftrc dr0,fpul
   1.363 - 
   1.364 -+	ENDFUNC(GLOBAL(sdivsi3_i4))
   1.365 - #elif defined(__SH4_SINGLE__) || defined(__SH4_SINGLE_ONLY__) || (defined (__SH5__) && ! defined __SH4_NOFPU__)
   1.366 - !! args in r4 and r5, result in fpul, clobber r2, dr0, dr2
   1.367 - 
   1.368 -@@ -892,6 +1022,7 @@
   1.369 - 	.mode	SHcompact
   1.370 - #endif
   1.371 - 	.global	GLOBAL(sdivsi3_i4)
   1.372 -+	FUNC(GLOBAL(sdivsi3_i4))
   1.373 - GLOBAL(sdivsi3_i4):
   1.374 - 	sts.l fpscr,@-r15
   1.375 - 	mov #8,r2
   1.376 -@@ -906,6 +1037,7 @@
   1.377 - 	rts
   1.378 - 	lds.l @r15+,fpscr
   1.379 - 
   1.380 -+	ENDFUNC(GLOBAL(sdivsi3_i4))
   1.381 - #endif /* ! __SH5__ || __SH5__ == 32 */
   1.382 - #endif /* ! __SH4__ */
   1.383 - #endif
   1.384 -@@ -920,9 +1052,10 @@
   1.385 - !!
   1.386 - !!
   1.387 - 
   1.388 --!! args in r4 and r5, result in r0 clobber r1,r2,r3
   1.389 -+!! args in r4 and r5, result in r0 clobber r1, r2, r3, and t bit
   1.390 - 
   1.391 - 	.global	GLOBAL(sdivsi3)
   1.392 -+	FUNC(GLOBAL(sdivsi3))
   1.393 - #if __SHMEDIA__
   1.394 - #if __SH5__ == 32
   1.395 - 	.section	.text..SHmedia32,"ax"
   1.396 -@@ -1166,6 +1299,7 @@
   1.397 - div0:	rts
   1.398 - 	mov	#0,r0
   1.399 - 
   1.400 -+	ENDFUNC(GLOBAL(sdivsi3))
   1.401 - #endif /* ! __SHMEDIA__ */
   1.402 - #endif /* ! __SH4__ */
   1.403 - #endif
   1.404 -@@ -1174,9 +1308,11 @@
   1.405 - 	.title "SH DIVIDE"
   1.406 - !! 4 byte integer Divide code for the Hitachi SH
   1.407 - #ifdef __SH4__
   1.408 --!! args in r4 and r5, result in fpul, clobber r0, r1, r4, r5, dr0, dr2, dr4
   1.409 -+!! args in r4 and r5, result in fpul, clobber r0, r1, r4, r5, dr0, dr2, dr4,
   1.410 -+!! and t bit
   1.411 - 
   1.412 - 	.global	GLOBAL(udivsi3_i4)
   1.413 -+	FUNC(GLOBAL(udivsi3_i4))
   1.414 - GLOBAL(udivsi3_i4):
   1.415 - 	mov #1,r1
   1.416 - 	cmp/hi r1,r5
   1.417 -@@ -1217,11 +1353,13 @@
   1.418 - L1:
   1.419 - 	.double 2147483648
   1.420 - 
   1.421 -+	ENDFUNC(GLOBAL(udivsi3_i4))
   1.422 - #elif defined (__SH5__) && ! defined (__SH4_NOFPU__)
   1.423 - #if ! __SH5__ || __SH5__ == 32
   1.424 - !! args in r4 and r5, result in fpul, clobber r20, r21, dr0, fr33
   1.425 - 	.mode	SHmedia
   1.426 - 	.global	GLOBAL(udivsi3_i4)
   1.427 -+	FUNC(GLOBAL(udivsi3_i4))
   1.428 - GLOBAL(udivsi3_i4):
   1.429 - 	addz.l	r4,r63,r20
   1.430 - 	addz.l	r5,r63,r21
   1.431 -@@ -1234,6 +1372,8 @@
   1.432 - 	ftrc.dq dr0,dr32
   1.433 - 	fmov.s fr33,fr32
   1.434 - 	blink tr0,r63
   1.435 -+
   1.436 -+	ENDFUNC(GLOBAL(udivsi3_i4))
   1.437 - #endif /* ! __SH5__ || __SH5__ == 32 */
   1.438 - #elif defined(__SH4_SINGLE__) || defined(__SH4_SINGLE_ONLY__)
   1.439 - !! args in r4 and r5, result in fpul, clobber r0, r1, r4, r5, dr0, dr2, dr4
   1.440 -@@ -1287,6 +1427,7 @@
   1.441 - #endif
   1.442 - 	.double 2147483648
   1.443 - 
   1.444 -+	ENDFUNC(GLOBAL(udivsi3_i4))
   1.445 - #endif /* ! __SH4__ */
   1.446 - #endif
   1.447 - 
   1.448 -@@ -1297,6 +1438,7 @@
   1.449 - 
   1.450 - !! args in r4 and r5, result in r0, clobbers r4, pr, and t bit
   1.451 - 	.global	GLOBAL(udivsi3)
   1.452 -+	FUNC(GLOBAL(udivsi3))
   1.453 - 
   1.454 - #if __SHMEDIA__
   1.455 - #if __SH5__ == 32
   1.456 -@@ -1485,6 +1627,7 @@
   1.457 -  rts
   1.458 -  rotcl r0
   1.459 - 
   1.460 -+	ENDFUNC(GLOBAL(udivsi3))
   1.461 - #endif /* ! __SHMEDIA__ */
   1.462 - #endif /* __SH4__ */
   1.463 - #endif /* L_udivsi3 */
   1.464 -@@ -1790,6 +1933,7 @@
   1.465 - 	.mode	SHcompact
   1.466 - #endif
   1.467 - 	.global GLOBAL(set_fpscr)
   1.468 -+	FUNC(GLOBAL(set_fpscr))
   1.469 - GLOBAL(set_fpscr):
   1.470 - 	lds r4,fpscr
   1.471 - 	mov.l LOCAL(set_fpscr_L1),r1
   1.472 -@@ -1822,6 +1966,8 @@
   1.473 - 	.align 2
   1.474 - LOCAL(set_fpscr_L1):
   1.475 - 	.long GLOBAL(fpscr_values)
   1.476 -+
   1.477 -+	ENDFUNC(GLOBAL(set_fpscr))
   1.478 - #ifdef __ELF__
   1.479 -         .comm   GLOBAL(fpscr_values),8,4
   1.480 - #else
   1.481 -@@ -1860,6 +2006,7 @@
   1.482 - 	blink	tr0, r63
   1.483 - #elif defined(__SH4_SINGLE__) || defined(__SH4__) || defined(__SH4_SINGLE_ONLY__)
   1.484 - 	.global GLOBAL(ic_invalidate)
   1.485 -+	FUNC(GLOBAL(ic_invalidate))
   1.486 - GLOBAL(ic_invalidate):
   1.487 - 	ocbwb	@r4
   1.488 - 	mova	0f,r0
   1.489 -@@ -1882,6 +2029,8 @@
   1.490 - 	nop
   1.491 - 	.endr
   1.492 - 	.endr
   1.493 -+
   1.494 -+	ENDFUNC(GLOBAL(ic_invalidate))
   1.495 - #endif /* SH4 */
   1.496 - #endif /* L_ic_invalidate */
   1.497 - 
   1.498 -@@ -1940,6 +2089,7 @@
   1.499 - 	will be expanded into r2/r3 upon return.  */
   1.500 - 	
   1.501 - 	.global	GLOBAL(GCC_shcompact_call_trampoline)
   1.502 -+	FUNC(GLOBAL(GCC_shcompact_call_trampoline))
   1.503 - GLOBAL(GCC_shcompact_call_trampoline):
   1.504 - 	ptabs/l	r0, tr0	/* Prepare to call the actual function.  */
   1.505 - 	movi	((datalabel LOCAL(ct_main_table) - 31 * 2) >> 16) & 65535, r0
   1.506 -@@ -2290,6 +2440,8 @@
   1.507 - 	shari	r2, 32, r2
   1.508 - #endif
   1.509 - 	blink	tr0, r63
   1.510 -+
   1.511 -+	ENDFUNC(GLOBAL(GCC_shcompact_call_trampoline))
   1.512 - #endif /* L_shcompact_call_trampoline */
   1.513 - 
   1.514 - #ifdef L_shcompact_return_trampoline
   1.515 -@@ -2302,6 +2454,7 @@
   1.516 - 	.section	.text..SHmedia32, "ax"
   1.517 - 	.align	2
   1.518 - 	.global	GLOBAL(GCC_shcompact_return_trampoline)
   1.519 -+	FUNC(GLOBAL(GCC_shcompact_return_trampoline))
   1.520 - GLOBAL(GCC_shcompact_return_trampoline):
   1.521 - 	ptabs/l	r18, tr0
   1.522 - #if __LITTLE_ENDIAN__
   1.523 -@@ -2313,6 +2466,8 @@
   1.524 - #endif
   1.525 - 	or	r3, r2, r2
   1.526 - 	blink	tr0, r63
   1.527 -+
   1.528 -+	ENDFUNC(GLOBAL(GCC_shcompact_return_trampoline))
   1.529 - #endif /* L_shcompact_return_trampoline */
   1.530 - 
   1.531 - #ifdef L_shcompact_incoming_args
   1.532 -@@ -2367,6 +2522,7 @@
   1.533 - 	actual bit pattern.  */
   1.534 - 	
   1.535 - 	.global	GLOBAL(GCC_shcompact_incoming_args)
   1.536 -+	FUNC(GLOBAL(GCC_shcompact_incoming_args))
   1.537 - GLOBAL(GCC_shcompact_incoming_args):
   1.538 - 	ptabs/l	r18, tr0	/* Prepare to return.  */
   1.539 - 	shlri	r17, 32, r0	/* Load the cookie.  */
   1.540 -@@ -2519,6 +2675,7 @@
   1.541 - LOCAL(ia_return):	/* Return.  */
   1.542 - 	blink	tr0, r63
   1.543 - LOCAL(ia_end_of_push_seq): /* Label used to compute the first push instruction.  */
   1.544 -+	ENDFUNC(GLOBAL(GCC_shcompact_incoming_args))
   1.545 - #endif /* L_shcompact_incoming_args */
   1.546 - #endif
   1.547 - #if __SH5__
   1.548 -@@ -2530,6 +2687,7 @@
   1.549 - #endif
   1.550 - 	.align	3 /* It is copied in units of 8 bytes in SHmedia mode.  */
   1.551 - 	.global	GLOBAL(GCC_nested_trampoline)
   1.552 -+	FUNC(GLOBAL(GCC_nested_trampoline))
   1.553 - GLOBAL(GCC_nested_trampoline):
   1.554 - 	.mode	SHmedia
   1.555 - 	ptrel/u	r63, tr0
   1.556 -@@ -2546,6 +2704,8 @@
   1.557 - 	ld.l	r0, 28, r1
   1.558 - #endif
   1.559 - 	blink	tr1, r63
   1.560 -+
   1.561 -+	ENDFUNC(GLOBAL(GCC_nested_trampoline))
   1.562 - #endif /* L_nested_trampoline */
   1.563 - #endif /* __SH5__ */
   1.564 - #if __SH5__ == 32
   1.565 -@@ -2555,6 +2715,7 @@
   1.566 - 	.align	2
   1.567 - #ifndef __SH4_NOFPU__	
   1.568 - 	.global	GLOBAL(GCC_push_shmedia_regs)
   1.569 -+	FUNC(GLOBAL(GCC_push_shmedia_regs))
   1.570 - GLOBAL(GCC_push_shmedia_regs):
   1.571 - 	addi.l	r15, -14*8, r15
   1.572 - 	fst.d	r15, 13*8, dr62
   1.573 -@@ -2573,6 +2734,7 @@
   1.574 - 	fst.d	r15,  0*8, dr36
   1.575 - #endif
   1.576 - 	.global	GLOBAL(GCC_push_shmedia_regs_nofpu)
   1.577 -+	FUNC(GLOBAL(GCC_push_shmedia_regs_nofpu))
   1.578 - GLOBAL(GCC_push_shmedia_regs_nofpu):
   1.579 - 	ptabs/l	r18, tr0
   1.580 - 	addi.l	r15, -27*8, r15
   1.581 -@@ -2608,8 +2770,13 @@
   1.582 - 	st.q	r15,  0*8, r28
   1.583 - 	blink	tr0, r63
   1.584 - 
   1.585 -+#ifndef __SH4_NOFPU__	
   1.586 -+	ENDFUNC(GLOBAL(GCC_push_shmedia_regs))
   1.587 -+#endif
   1.588 -+	ENDFUNC(GLOBAL(GCC_push_shmedia_regs_nofpu))
   1.589 - #ifndef __SH4_NOFPU__
   1.590 - 	.global	GLOBAL(GCC_pop_shmedia_regs)
   1.591 -+	FUNC(GLOBAL(GCC_pop_shmedia_regs))
   1.592 - GLOBAL(GCC_pop_shmedia_regs):
   1.593 - 	pt	.L0, tr1
   1.594 - 	movi	41*8, r0
   1.595 -@@ -2630,6 +2797,7 @@
   1.596 - 	blink	tr1, r63
   1.597 - #endif
   1.598 - 	.global	GLOBAL(GCC_pop_shmedia_regs_nofpu)
   1.599 -+	FUNC(GLOBAL(GCC_pop_shmedia_regs_nofpu))
   1.600 - GLOBAL(GCC_pop_shmedia_regs_nofpu):
   1.601 - 	movi	27*8, r0
   1.602 - .L0:
   1.603 -@@ -2666,5 +2834,10 @@
   1.604 - 	ld.q	r15,  0*8, r28
   1.605 - 	add.l	r15, r0, r15
   1.606 - 	blink	tr0, r63
   1.607 -+
   1.608 -+#ifndef __SH4_NOFPU__
   1.609 -+	ENDFUNC(GLOBAL(GCC_pop_shmedia_regs))
   1.610 -+#endif
   1.611 -+	ENDFUNC(GLOBAL(GCC_pop_shmedia_regs_nofpu))
   1.612 - #endif /* __SH5__ == 32 */
   1.613 - #endif /* L_push_pop_shmedia_regs */