mirror of
https://github.com/reactos/reactos.git
synced 2024-07-29 23:58:44 +00:00
{RTL]
- Fix RtlLengthSecurityDescriptor - Fix pointer calculation in amd64 interlocked slist code - Assert that the slist entry pointer is 16 byte aligned [CRT] - Add amd64 stubs for acos and acosf svn path=/trunk/; revision=55512
This commit is contained in:
parent
0b2dbd9cea
commit
2de5176c84
|
@ -18,7 +18,7 @@
|
|||
#define SLIST8B_HEADERTYPE_MASK HEX(0000000000000001)
|
||||
#define SLIST8B_INIT_MASK HEX(0000000000000002)
|
||||
#define SLIST8B_REGION_MASK HEX(E000000000000000)
|
||||
#define SLIST8_POINTER_MASK HEX(000007FFFFFFFFF0)
|
||||
#define SLIST8_POINTER_MASK HEX(000007FFFFFFFFFF)
|
||||
|
||||
#define SLIST16A_DEPTH_MASK HEX(000000000000FFFF)
|
||||
#define SLIST16A_DEPTH_INC HEX(0000000000000001)
|
||||
|
@ -181,6 +181,15 @@ RtlInterlockedPopEntrySListEmpty16:
|
|||
RtlInterlockedPushEntrySList:
|
||||
ExpInterlockedPushEntrySList:
|
||||
|
||||
#if DBG
|
||||
/* Make sure the ListEntry is 16 bytes aligned */
|
||||
test rdx, HEX(0F)
|
||||
jz ExpInterlockedPushEntrySListChecked
|
||||
/* Not aligned, raise an assertion */
|
||||
int HEX(2C)
|
||||
ExpInterlockedPushEntrySListChecked:
|
||||
#endif
|
||||
|
||||
/* Load ListHead->Alignment into rax */
|
||||
mov rax, [rcx]
|
||||
|
||||
|
@ -301,7 +310,7 @@ ExpInterlockedFlushSList:
|
|||
|
||||
RtlInterlockedFlushSListLoop:
|
||||
|
||||
/* Zero ListHead->Alignment */
|
||||
/* Zero ListHead->Alignment */
|
||||
xor r8, r8
|
||||
|
||||
/* If [rcx] equals rax, exchange it with r8 */
|
||||
|
|
|
@ -250,10 +250,15 @@ RtlLengthSecurityDescriptor(IN PSECURITY_DESCRIPTOR SecurityDescriptor)
|
|||
{
|
||||
PSID Owner, Group;
|
||||
PACL Sacl, Dacl;
|
||||
ULONG Length = sizeof(SECURITY_DESCRIPTOR);
|
||||
ULONG Length;
|
||||
|
||||
PAGED_CODE_RTL();
|
||||
|
||||
if (((PISECURITY_DESCRIPTOR)SecurityDescriptor)->Control & SE_SELF_RELATIVE)
|
||||
Length = sizeof(SECURITY_DESCRIPTOR_RELATIVE);
|
||||
else
|
||||
Length = sizeof(SECURITY_DESCRIPTOR);
|
||||
|
||||
RtlpQuerySecurityDescriptorPointers((PISECURITY_DESCRIPTOR)SecurityDescriptor,
|
||||
&Owner,
|
||||
&Group,
|
||||
|
|
|
@ -392,6 +392,8 @@ elseif(ARCH MATCHES amd64)
|
|||
float/amd64/fpreset.S
|
||||
float/amd64/logb.S
|
||||
float/i386/statfp.c
|
||||
math/amd64/acos.S
|
||||
math/amd64/acosf.S
|
||||
math/amd64/atan.S
|
||||
math/amd64/atan2.S
|
||||
math/amd64/ceil.S
|
||||
|
|
21
reactos/lib/sdk/crt/math/amd64/acos.S
Normal file
21
reactos/lib/sdk/crt/math/amd64/acos.S
Normal file
|
@ -0,0 +1,21 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS system libraries
|
||||
* PURPOSE: Implementation of acos
|
||||
* FILE: lib/sdk/crt/math/amd64/acos.S
|
||||
* PROGRAMMER: Timo Kreuzer (timo.kreuzer@reactos.org)
|
||||
*/
|
||||
|
||||
/* INCLUDES ******************************************************************/
|
||||
|
||||
#include <asm.inc>
|
||||
|
||||
/* CODE **********************************************************************/
|
||||
.code64
|
||||
|
||||
PUBLIC acos
|
||||
acos:
|
||||
UNIMPLEMENTED acos
|
||||
ret
|
||||
|
||||
END
|
21
reactos/lib/sdk/crt/math/amd64/acosf.S
Normal file
21
reactos/lib/sdk/crt/math/amd64/acosf.S
Normal file
|
@ -0,0 +1,21 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS system libraries
|
||||
* PURPOSE: Implementation of acosf
|
||||
* FILE: lib/sdk/crt/math/amd64/acosf.S
|
||||
* PROGRAMMER: Timo Kreuzer (timo.kreuzer@reactos.org)
|
||||
*/
|
||||
|
||||
/* INCLUDES ******************************************************************/
|
||||
|
||||
#include <asm.inc>
|
||||
|
||||
/* CODE **********************************************************************/
|
||||
.code64
|
||||
|
||||
PUBLIC acosf
|
||||
acosf:
|
||||
UNIMPLEMENTED acos
|
||||
ret
|
||||
|
||||
END
|
Loading…
Reference in a new issue