Remove the (TInt) casts from address expressions in asm() statements, as a fix for Bug 2905
--- a/bsptemplate/asspandvariant/template_assp/interrupts.cia Fri Jun 11 17:54:34 2010 +0100
+++ b/bsptemplate/asspandvariant/template_assp/interrupts.cia Fri Jun 11 17:56:35 2010 +0100
@@ -88,6 +88,6 @@
asm("__KTemplateIntCtrlBase: ");
asm(".word %a0" : : "i" ((TInt)KHwBaseInterrupts));
asm("__Handlers: ");
- asm(".word %a0" : : "i" ((TInt)&TemplateInterrupt::Handlers[0]));
+ asm(".word %a0" : : "i" (&TemplateInterrupt::Handlers[0]));
}
--- a/kernel/eka/include/kernel/execs.h Fri Jun 11 17:54:34 2010 +0100
+++ b/kernel/eka/include/kernel/execs.h Fri Jun 11 17:56:35 2010 +0100
@@ -127,7 +127,7 @@
#define FAST_EXEC_END
#define DECLARE_WORD(n) asm(".word %a0" : : "i" ((TInt)n));
-#define DECLARE_FUNC(f) asm(".word %a0" : : "i" ((TInt)&f));
+#define DECLARE_FUNC(f) asm(".word %a0" : : "i" (&f));
#define DECLARE_FAST_EXEC_INVALID DECLARE_FUNC(InvalidFastExec)
#define SLOW_EXEC_BEGIN \
--- a/kernel/eka/kernel/arm/cache_maintenance.cia Fri Jun 11 17:54:34 2010 +0100
+++ b/kernel/eka/kernel/arm/cache_maintenance.cia Fri Jun 11 17:56:35 2010 +0100
@@ -58,9 +58,9 @@
__JUMP(,lr);
asm("__DCacheInfo: ");
- asm(".word %a0" : : "i" ((TInt)&InternalCache::Info[KCacheInfoD]));
+ asm(".word %a0" : : "i" (&InternalCache::Info[KCacheInfoD]));
asm("__ICacheInfo: ");
- asm(".word %a0" : : "i" ((TInt)&InternalCache::Info[KCacheInfoI]));
+ asm(".word %a0" : : "i" (&InternalCache::Info[KCacheInfoI]));
asm("__TheScheduler: ");
asm(".word TheScheduler ");
}
@@ -340,7 +340,7 @@
__JUMP(,lr);
asm("__ExternalCacheCtrlBase: ");
- asm(".word %a0" : : "i" ((TInt)&Base));
+ asm(".word %a0" : : "i" (&Base));
asm("__KDummyUncachedAddr: ");
asm(".word %a0" : : "i" ((TInt)KDummyUncachedAddr));
}
@@ -376,7 +376,7 @@
__POPRET("");
asm("__ExternalCacheCtrlBase: ");
- asm(".word %a0" : : "i" ((TInt)&Base));
+ asm(".word %a0" : : "i" (&Base));
asm("__KDummyUncachedAddr: ");
asm(".word %a0" : : "i" ((TInt)KDummyUncachedAddr));
}
@@ -413,10 +413,10 @@
__POPRET("");
asm("__ExternalCacheCtrlBase: ");
- asm(".word %a0" : : "i" ((TInt)&Base));
+ asm(".word %a0" : : "i" (&Base));
#if defined(__SMP__)
asm("__PL310SpinLock: ");
- asm(".word %a0" : : "i" ((TInt)&iLock));
+ asm(".word %a0" : : "i" (&iLock));
#endif
}
#endif //(__ARM_L210_CACHE__) or (__ARM_L220_CACHE__) or (__ARM_PL310_CACHE__)
--- a/kernel/eka/kernel/arm/ckernel.cia Fri Jun 11 17:54:34 2010 +0100
+++ b/kernel/eka/kernel/arm/ckernel.cia Fri Jun 11 17:56:35 2010 +0100
@@ -544,7 +544,7 @@
__JUMP(,lr);
asm("__FirstFree: ");
- asm(".word %a0" : : "i" ((TInt)&FirstFree));
+ asm(".word %a0" : : "i" (&FirstFree));
}
__NAKED__ void TThreadWaitList::ChangePriority(DThread* aThread, TInt aNewPriority)
--- a/kernel/eka/nkern/arm/ncsched.cia Fri Jun 11 17:54:34 2010 +0100
+++ b/kernel/eka/nkern/arm/ncsched.cia Fri Jun 11 17:56:35 2010 +0100
@@ -895,7 +895,7 @@
__JUMP(,lr);
asm("__PendingDfcQueue: ");
- asm(".word %a0" : : "i" ((TInt)&TheScheduler.iDfcs));
+ asm(".word %a0" : : "i" (&TheScheduler.iDfcs));
}
@@ -1850,7 +1850,7 @@
asm("__TheScheduler: ");
asm(".word TheScheduler ");
asm("__SystemLock: ");
- asm(".word %a0" : : "i" ((TInt)&TheScheduler.iLock));
+ asm(".word %a0" : : "i" (&TheScheduler.iLock));
#ifdef BTRACE_CPU_USAGE
asm("context_switch_trace_header:");
asm(".word %a0" : : "i" ((TInt)(8<<BTrace::ESizeIndex) + (BTrace::EContextIdPresent<<BTrace::EFlagsIndex*8) + (BTrace::ECpuUsage<<BTrace::ECategoryIndex*8) + (BTrace::ENewThreadContext<<BTrace::ESubCategoryIndex*8)) );
@@ -2308,7 +2308,7 @@
asm("ldr pc, [sp], #4 ");
asm("__RescheduleNeededFlag: ");
- asm(".word %a0" : : "i" ((TInt)&TheScheduler.iRescheduleNeededFlag));
+ asm(".word %a0" : : "i" (&TheScheduler.iRescheduleNeededFlag));
}
--- a/kernel/eka/nkern/arm/ncutilf.cia Fri Jun 11 17:54:34 2010 +0100
+++ b/kernel/eka/nkern/arm/ncutilf.cia Fri Jun 11 17:56:35 2010 +0100
@@ -81,7 +81,7 @@
asm("b " CSM_ZN5NKern6UnlockEv);
asm("__SystemLock: ");
- asm(".word %a0" : : "i" ((TInt)&TheScheduler.iLock));
+ asm(".word %a0" : : "i" (&TheScheduler.iLock));
asm("__TheScheduler: ");
asm(".word TheScheduler ");
}
--- a/kernel/eka/nkern/arm/ncutils.cia Fri Jun 11 17:54:34 2010 +0100
+++ b/kernel/eka/nkern/arm/ncutils.cia Fri Jun 11 17:56:35 2010 +0100
@@ -303,7 +303,7 @@
__ASM_CRASH();
asm("__CrashState: ");
- asm(".word %a0" : : "i" ((TInt)&CrashState));
+ asm(".word %a0" : : "i" (&CrashState));
}