Author: tkreuzer Date: Thu Feb 9 11:54:59 2012 New Revision: 55512
URL: http://svn.reactos.org/svn/reactos?rev=55512&view=rev Log: {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
Added: trunk/reactos/lib/sdk/crt/math/amd64/acos.S (with props) trunk/reactos/lib/sdk/crt/math/amd64/acosf.S (with props) Modified: trunk/reactos/lib/rtl/amd64/slist.S trunk/reactos/lib/rtl/sd.c trunk/reactos/lib/sdk/crt/crt.cmake
Modified: trunk/reactos/lib/rtl/amd64/slist.S URL: http://svn.reactos.org/svn/reactos/trunk/reactos/lib/rtl/amd64/slist.S?rev=5... ============================================================================== --- trunk/reactos/lib/rtl/amd64/slist.S [iso-8859-1] (original) +++ trunk/reactos/lib/rtl/amd64/slist.S [iso-8859-1] Thu Feb 9 11:54:59 2012 @@ -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 @@ 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 @@
RtlInterlockedFlushSListLoop:
- /* Zero ListHead->Alignment */ + /* Zero ListHead->Alignment */ xor r8, r8
/* If [rcx] equals rax, exchange it with r8 */
Modified: trunk/reactos/lib/rtl/sd.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/lib/rtl/sd.c?rev=55512&... ============================================================================== --- trunk/reactos/lib/rtl/sd.c [iso-8859-1] (original) +++ trunk/reactos/lib/rtl/sd.c [iso-8859-1] Thu Feb 9 11:54:59 2012 @@ -250,9 +250,14 @@ { PSID Owner, Group; PACL Sacl, Dacl; - ULONG Length = sizeof(SECURITY_DESCRIPTOR); - - PAGED_CODE_RTL(); + 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,
Modified: trunk/reactos/lib/sdk/crt/crt.cmake URL: http://svn.reactos.org/svn/reactos/trunk/reactos/lib/sdk/crt/crt.cmake?rev=5... ============================================================================== --- trunk/reactos/lib/sdk/crt/crt.cmake [iso-8859-1] (original) +++ trunk/reactos/lib/sdk/crt/crt.cmake [iso-8859-1] Thu Feb 9 11:54:59 2012 @@ -392,6 +392,8 @@ 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
Added: trunk/reactos/lib/sdk/crt/math/amd64/acos.S URL: http://svn.reactos.org/svn/reactos/trunk/reactos/lib/sdk/crt/math/amd64/acos... ============================================================================== --- trunk/reactos/lib/sdk/crt/math/amd64/acos.S (added) +++ trunk/reactos/lib/sdk/crt/math/amd64/acos.S [iso-8859-1] Thu Feb 9 11:54:59 2012 @@ -1,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
Propchange: trunk/reactos/lib/sdk/crt/math/amd64/acos.S ------------------------------------------------------------------------------ svn:eol-style = native
Added: trunk/reactos/lib/sdk/crt/math/amd64/acosf.S URL: http://svn.reactos.org/svn/reactos/trunk/reactos/lib/sdk/crt/math/amd64/acos... ============================================================================== --- trunk/reactos/lib/sdk/crt/math/amd64/acosf.S (added) +++ trunk/reactos/lib/sdk/crt/math/amd64/acosf.S [iso-8859-1] Thu Feb 9 11:54:59 2012 @@ -1,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
Propchange: trunk/reactos/lib/sdk/crt/math/amd64/acosf.S ------------------------------------------------------------------------------ svn:eol-style = native