mirror of
git://git.musl-libc.org/musl
synced 2025-01-18 21:01:01 +00:00
allow i386 __set_thread_area to be called more than once
previously a new GDT slot was requested, even if one had already been obtained by a previous call. instead extract the old slot number from GS and reuse it if it was already set. the formula (GS-3)/8 for the slot number automatically yields -1 (request for new slot) if GS is zero (unset).
This commit is contained in:
parent
f3ddd17380
commit
f630df09b1
@ -6,7 +6,11 @@ __set_thread_area:
|
||||
push $0x51
|
||||
push $0xfffff
|
||||
push 16(%esp)
|
||||
push $-1
|
||||
xor %edx,%edx
|
||||
mov %gs,%dx
|
||||
sub $3,%edx
|
||||
sar $3,%edx
|
||||
push %edx
|
||||
mov %esp,%ebx
|
||||
xor %eax,%eax
|
||||
mov $243,%al
|
||||
|
Loading…
Reference in New Issue
Block a user