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=…
==============================================================================
--- 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=…
==============================================================================
--- 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/aco…
==============================================================================
--- 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(a)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/aco…
==============================================================================
--- 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(a)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