diff --git a/reactos/ReactOS-arm.rbuild b/reactos/ReactOS-arm.rbuild
index aac72e02a0c..204b4a4066c 100644
--- a/reactos/ReactOS-arm.rbuild
+++ b/reactos/ReactOS-arm.rbuild
@@ -29,6 +29,8 @@
-ftracer
-Wno-attributes
+ -U_UNICODE
+ -UUNICODE
diff --git a/reactos/boot/freeldr/freeldr/include/arch/arm/hardware.h b/reactos/boot/freeldr/freeldr/include/arch/arm/hardware.h
index 549eefeaf71..7d6fae69945 100644
--- a/reactos/boot/freeldr/freeldr/include/arch/arm/hardware.h
+++ b/reactos/boot/freeldr/freeldr/include/arch/arm/hardware.h
@@ -67,7 +67,7 @@ FldrCreateSystemKey(
VOID
NTAPI
FldrCreateComponentKey(
- IN PCONFIGURATION_COMPONENT_DATA SystemKey,,
+ IN PCONFIGURATION_COMPONENT_DATA SystemKey,
IN CONFIGURATION_CLASS Class,
IN CONFIGURATION_TYPE Type,
IN IDENTIFIER_FLAG Flags,
diff --git a/reactos/include/crt/mingw32/intrin_arm.h b/reactos/include/crt/mingw32/intrin_arm.h
index 066c641254f..99ddb47a841 100644
--- a/reactos/include/crt/mingw32/intrin_arm.h
+++ b/reactos/include/crt/mingw32/intrin_arm.h
@@ -35,6 +35,22 @@
#define _ReturnAddress() (__builtin_return_address(0))
#define _ReadWriteBarrier() __sync_synchronize()
+__INTRIN_INLINE unsigned _CountLeadingZeros(long Mask)
+{
+ return Mask ? __builtin_clz(Mask) : 32;
+}
+
+__INTRIN_INLINE unsigned _CountTrailingZeros(long Mask)
+{
+ return Mask ? __builtin_ctz(Mask) : 32;
+}
+
+__INTRIN_INLINE unsigned char _BitScanForward(unsigned long * const Index, const unsigned long Mask)
+{
+ *Index = __builtin_ctz(Mask);
+ return Mask ? 1 : 0;
+}
+
__INTRIN_INLINE char _InterlockedCompareExchange8(volatile char * const Destination, const char Exchange, const char Comperand)
{
return __sync_val_compare_and_swap(Destination, Comperand, Exchange);
diff --git a/reactos/ntoskrnl/include/internal/arm/ke.h b/reactos/ntoskrnl/include/internal/arm/ke.h
index f539cf4facb..67b8befa048 100644
--- a/reactos/ntoskrnl/include/internal/arm/ke.h
+++ b/reactos/ntoskrnl/include/internal/arm/ke.h
@@ -1,6 +1,8 @@
#ifndef __NTOSKRNL_INCLUDE_INTERNAL_ARM_KE_H
#define __NTOSKRNL_INCLUDE_INTERNAL_ARM_KE_H
+#include "intrin_i.h"
+
//
//Lockdown TLB entries
//
@@ -38,7 +40,7 @@
// Returns the Interrupt State from a Trap Frame.
// ON = TRUE, OFF = FALSE
//
-//#define KeGetTrapFrameInterruptState(TrapFrame) \
+//#define KeGetTrapFrameInterruptState(TrapFrame)
//
// Invalidates the TLB entry for a specified address