summaryrefslogtreecommitdiff
path: root/lib/thread/fsbase+linux.myr
blob: 1641a6490587b46adffc3963c33c63affc629fde (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
use std
use sys

use "types"

pkg thread =
	pkglocal const setfsbase : (h : tlshdr# -> void)
	pkglocal const getfsbase : (-> tlshdr#)
;;

const setfsbase = {h
	match sys.arch_prctl(sys.Archsetfs, (h : void#))
	| 0:
	| err:
		std.fput(std.Err, "error: arch_prctl returned {}\n", err)
		std.suicide()
	;;
}

const getfsbase = {
	var h : tlshdr#
	match sys.arch_prctl(sys.Archgetfs, (&h : void#))
	| 0: -> h
	| err:
		std.fput(std.Err, "error: arch_prctl returned {}\n", err)
		std.suicide()
	;;
}