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=55512&r1=55511&r2=55512&view=diff
==============================================================================
--- 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&r1=55511&r2=55512&view=diff
==============================================================================
--- 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=55512&r1=55511&r2=55512&view=diff
==============================================================================
--- 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.S?rev=55512&view=auto
==============================================================================
--- 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 ([email protected])
+ */
+
+/* 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/acosf.S?rev=55512&view=auto
==============================================================================
--- 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 ([email protected])
+ */
+
+/* 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


Reply via email to