ppc, ppc64: tag global symbols as functions #24

Merged
q66 merged 2 commits from ppc-fixes into master 2021-01-08 09:24:00 +00:00
8 changed files with 48 additions and 41 deletions

View File

@ -10,11 +10,12 @@
* from the use of this software. * from the use of this software.
*/ */
.global libucontext_getcontext #include "common-defs.h"
ALIAS(getcontext, libucontext_getcontext)
.hidden __libucontext_swapcontext .hidden __libucontext_swapcontext
libucontext_getcontext: FUNC(libucontext_getcontext)
li 4, 0 li 4, 0
b __libucontext_swapcontext@local b __libucontext_swapcontext@local
END(libucontext_getcontext)
.weak getcontext
getcontext = libucontext_getcontext

View File

@ -10,12 +10,13 @@
* from the use of this software. * from the use of this software.
*/ */
.global libucontext_setcontext #include "common-defs.h"
ALIAS(setcontext, libucontext_setcontext)
.hidden __libucontext_swapcontext .hidden __libucontext_swapcontext
libucontext_setcontext: FUNC(libucontext_setcontext)
mr 4, 3 mr 4, 3
li 3, 0 li 3, 0
b __libucontext_swapcontext@local b __libucontext_swapcontext@local
END(libucontext_setcontext)
.weak setcontext
setcontext = libucontext_setcontext

View File

@ -10,8 +10,10 @@
* from the use of this software. * from the use of this software.
*/ */
.globl libucontext_trampoline; #include "common-defs.h"
libucontext_trampoline:
.hidden libucontext_trampoline
FUNC(libucontext_trampoline)
/* get the proper context into position and test for NULL */ /* get the proper context into position and test for NULL */
mr. 3,31 mr. 3,31
@ -23,3 +25,4 @@ libucontext_trampoline:
no_linked_context: no_linked_context:
b exit@GOT b exit@GOT
END(libucontext_trampoline)

View File

@ -10,17 +10,16 @@
* from the use of this software. * from the use of this software.
*/ */
.global __libucontext_swapcontext #include "common-defs.h"
__libucontext_swapcontext:
ALIAS(swapcontext, __libucontext_swapcontext)
ALIAS(libucontext_swapcontext, __libucontext_swapcontext)
FUNC(__libucontext_swapcontext)
li 0, 249 # SYS_swapcontext li 0, 249 # SYS_swapcontext
li 5, 1184 # sizeof(ucontext_t) li 5, 1184 # sizeof(ucontext_t)
sc sc
.hidden __retfromsyscall .hidden __retfromsyscall
b __retfromsyscall@local b __retfromsyscall@local
END(__libucontext_swapcontext)
.weak swapcontext
swapcontext = libucontext_swapcontext
.weak libucontext_swapcontext
libucontext_swapcontext = __libucontext_swapcontext

View File

@ -10,9 +10,12 @@
* from the use of this software. * from the use of this software.
*/ */
.global libucontext_getcontext #include "common-defs.h"
ALIAS(getcontext, libucontext_getcontext)
.hidden __libucontext_swapcontext .hidden __libucontext_swapcontext
libucontext_getcontext: FUNC(libucontext_getcontext)
addis 2, 12, .TOC.-libucontext_getcontext@ha addis 2, 12, .TOC.-libucontext_getcontext@ha
addi 2, 12, .TOC.-libucontext_getcontext@l addi 2, 12, .TOC.-libucontext_getcontext@l
@ -20,6 +23,4 @@ libucontext_getcontext:
li 4, 0 li 4, 0
b __libucontext_swapcontext b __libucontext_swapcontext
END(libucontext_getcontext)
.weak getcontext
getcontext = libucontext_getcontext

View File

@ -10,9 +10,12 @@
* from the use of this software. * from the use of this software.
*/ */
.global libucontext_setcontext #include "common-defs.h"
ALIAS(setcontext, libucontext_setcontext)
.hidden __libucontext_swapcontext .hidden __libucontext_swapcontext
libucontext_setcontext: FUNC(libucontext_setcontext)
addis 2, 12, .TOC.-libucontext_setcontext@ha addis 2, 12, .TOC.-libucontext_setcontext@ha
addi 2, 12, .TOC.-libucontext_setcontext@l addi 2, 12, .TOC.-libucontext_setcontext@l
@ -21,6 +24,4 @@ libucontext_setcontext:
mr 4, 3 mr 4, 3
li 3, 0 li 3, 0
b __libucontext_swapcontext b __libucontext_swapcontext
END(libucontext_setcontext)
.weak setcontext
setcontext = libucontext_setcontext

View File

@ -10,9 +10,10 @@
* from the use of this software. * from the use of this software.
*/ */
.globl libucontext_trampoline; #include "common-defs.h"
.hidden libucontext_trampoline;
libucontext_trampoline: .hidden libucontext_trampoline
FUNC(libucontext_trampoline)
cmpdi 31,0 /* test if ucontext link pointer is null */ cmpdi 31,0 /* test if ucontext link pointer is null */
beq no_linked_context /* if it is, exit */ beq no_linked_context /* if it is, exit */
@ -29,3 +30,4 @@ libucontext_trampoline:
no_linked_context: no_linked_context:
b exit@GOT b exit@GOT
nop nop
END(libucontext_trampoline)

View File

@ -10,8 +10,12 @@
* from the use of this software. * from the use of this software.
*/ */
.global __libucontext_swapcontext #include "common-defs.h"
__libucontext_swapcontext:
ALIAS(swapcontext, __libucontext_swapcontext)
ALIAS(libucontext_swapcontext, __libucontext_swapcontext)
FUNC(__libucontext_swapcontext)
addis 2, 12, .TOC.-__libucontext_swapcontext@ha addis 2, 12, .TOC.-__libucontext_swapcontext@ha
addi 2, 12, .TOC.-__libucontext_swapcontext@l addi 2, 12, .TOC.-__libucontext_swapcontext@l
@ -23,9 +27,4 @@ __libucontext_swapcontext:
.hidden __retfromsyscall .hidden __retfromsyscall
b __retfromsyscall b __retfromsyscall
END(__libucontext_swapcontext)
.weak swapcontext
swapcontext = __libucontext_swapcontext
.weak libucontext_swapcontext
libucontext_swapcontext = __libucontext_swapcontext