mirror of
https://git.freebsd.org/ports.git
synced 2025-07-18 17:59:20 -04:00
Fix non-PIC calls in assembly for PowerPC. While here, define
symbols as functions and give them a correct size. Ok'd: gerald (thanks!)
This commit is contained in:
parent
edad4d701c
commit
d0c42f2f98
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=231283
2 changed files with 79 additions and 0 deletions
42
devel/liboil/files/patch-vec_memcpy.diff
Normal file
42
devel/liboil/files/patch-vec_memcpy.diff
Normal file
|
@ -0,0 +1,42 @@
|
|||
--- liboil/motovec/vec_memcpy.S 2007-11-15 18:53:47.000000000 -0800
|
||||
+++ liboil/motovec/vec_memcpy.S 2009-03-20 20:07:55.000000000 -0700
|
||||
@@ -249,9 +249,11 @@
|
||||
memcpy:
|
||||
#else
|
||||
.globl vec_memmove
|
||||
+ .type vec_memmove, @function
|
||||
vec_memmove:
|
||||
nop // IU1 Only way I know to preserve both labels
|
||||
.globl _vec_memcpy
|
||||
+ .type _vec_memcpy, @function
|
||||
_vec_memcpy:
|
||||
#endif
|
||||
subf. DMS,SRC,DST // IU1 Compute dst-src difference
|
||||
@@ -291,7 +293,9 @@
|
||||
stbu Rt,-1(DBC) // LSU Store it
|
||||
bdnz Byte_cpy_bwd
|
||||
blr
|
||||
-
|
||||
+ .size vec_memmove, . - vec_memmove
|
||||
+ .size _vec_memcpy, . - _vec_memcpy
|
||||
+
|
||||
#ifdef __MWERKS__
|
||||
.align 16
|
||||
#else
|
||||
@@ -863,6 +867,7 @@
|
||||
bcopy:
|
||||
#else
|
||||
.globl vec_bcopy
|
||||
+ .type vec_bcopy, @function
|
||||
vec_bcopy:
|
||||
#endif
|
||||
mr Rt,DST // temp storage for what is really source address (r3)
|
||||
@@ -871,6 +876,7 @@
|
||||
#ifdef LIBMOTOVEC
|
||||
b memcpy // b to memcpy with correct args in r3 and r4
|
||||
#else
|
||||
- b _vec_memcpy // b to vec_memcpy with correct args in r3 and r4
|
||||
+ b _vec_memcpy@plt // b to vec_memcpy with correct args in r3 and r4
|
||||
#endif
|
||||
+ .size vec_bcopy, . - vec_bcopy
|
||||
// End of bcopy in AltiVec
|
37
devel/liboil/files/patch-vec_memset.diff
Normal file
37
devel/liboil/files/patch-vec_memset.diff
Normal file
|
@ -0,0 +1,37 @@
|
|||
--- liboil/motovec/vec_memset.S 2007-11-15 18:53:47.000000000 -0800
|
||||
+++ liboil/motovec/vec_memset.S 2009-03-20 20:10:56.000000000 -0700
|
||||
@@ -142,6 +142,7 @@
|
||||
memset:
|
||||
#else
|
||||
.globl _vec_memset
|
||||
+ .type _vec_memset, @function
|
||||
_vec_memset:
|
||||
#endif
|
||||
|
||||
@@ -161,6 +162,7 @@
|
||||
bdnz Byte_set
|
||||
|
||||
blr
|
||||
+ .size _vec_memset, . - _vec_memset
|
||||
|
||||
v_memset:
|
||||
// Byte count < MIN_VEC bytes will have been set by scalar code above,
|
||||
@@ -347,6 +349,7 @@
|
||||
bzero:
|
||||
#else
|
||||
.globl vec_bzero
|
||||
+ .type vec_bzero, @function
|
||||
vec_bzero:
|
||||
#endif
|
||||
|
||||
@@ -355,8 +358,9 @@
|
||||
#ifdef LIBMOTOVEC
|
||||
b memset
|
||||
#else
|
||||
- b _vec_memset
|
||||
+ b _vec_memset@plt
|
||||
#endif
|
||||
+ .size vec_bzero, . - vec_bzero
|
||||
|
||||
// cacheable_memzero will employ dcbz to clear 32 bytes at a time
|
||||
// of cacheable memory. Like bzero, second entering argument will be BC.
|
Loading…
Add table
Reference in a new issue