repo.or.cz
/
uclibc-ng.git
/
blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
log
|
graphiclog1
|
graphiclog2
|
commit
|
commitdiff
|
tree
|
refs
|
edit
|
fork
blame
|
history
|
raw
|
HEAD
fix TLS memory leak with dlopen
[uclibc-ng.git]
/
libc
/
sysdeps
/
linux
/
csky
/
__longjmp.S
blob
8dbd3d6d6154e40a674553684a797ced2a7b32ee
1
/*
2
* Copyright (C) 2017 Hangzhou C-SKY Microsystems co.,ltd.
3
*
4
* Licensed under the LGPL v2.1 or later, see the file COPYING.LIB
5
* in this tarball.
6
*/
7
8
#include <sysdep.h>
9
10
ENTRY(__longjmp)
11
ldw sp, (a0, 0)
12
ldw lr, (a0, 4)
13
14
ldw l0, (a0, 8)
15
ldw l1, (a0, 12)
16
ldw l2, (a0, 16)
17
ldw l3, (a0, 20)
18
ldw l4, (a0, 24)
19
ldw l5, (a0, 28)
20
21
#ifdef __CSKYABIV2__
22
ldw l6, (a0, 32)
23
ldw l7, (a0, 36)
24
ldw l8, (a0, 40)
25
ldw l9, (a0, 44)
26
27
ldw r26, (a0, 48)
28
ldw r27, (a0, 52)
29
ldw gb, (a0, 56)
30
ldw r29, (a0, 60)
31
ldw r30, (a0, 64)
32
ldw tls, (a0, 68)
33
#else
34
ldw gb, (a0, 32)
35
#endif
36
37
mov a0, a1
38
cmpnei a1, 0
39
bt 1f
40
movi a0, 1
41
1:
42
rts
43
44
END(__longjmp)
45
libc_hidden_def(__longjmp)
46