- 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:
Timo Kreuzer 2012-02-09 11:54:59 +00:00
parent 0b2dbd9cea
commit 2de5176c84
5 changed files with 61 additions and 3 deletions

View file

@ -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 */

View file

@ -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,

View file

@ -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

View 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

View 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