--- a/bsptemplate/asspandvariant/template_assp/interrupts.cia Wed Jul 21 14:14:06 2010 +0100
+++ b/bsptemplate/asspandvariant/template_assp/interrupts.cia Thu Jul 22 16:46:39 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/bsptemplate/asspandvariant/template_variant/bld.inf Wed Jul 21 14:14:06 2010 +0100
+++ b/bsptemplate/asspandvariant/template_variant/bld.inf Thu Jul 22 16:46:39 2010 +0100
@@ -115,6 +115,11 @@
start extension base.bootstrap bootstrap
+#ifdef SYMBIAN_OLD_EXPORT_LOCATION
+option INC_PATH $(EPOCROOT)epoc32/include
+#else
+option INC_PATH $(EPOCROOT)epoc32/include/platform
+#endif
option NAME _template_bootrom
option CPU arm
@@ -146,6 +151,13 @@
option EXTRA_SRC_PATH $(EXTENSION_ROOT)/bootstrap
option INCLUDES $(EXTENSION_ROOT)/config.inc
option E32PATH $(EXTENSION_ROOT)/../../../kernel/eka/../.
+#ifdef GCCE
+option GCCE GCCE
+option EXTRA_INC_PATH $(EPOCBLD)/$(NAME)
+#endif
+#ifdef ARMCC
+option ARMCC ARMCC
+#endif
end
--- a/bsptemplate/asspandvariant/template_variant/inc/lffsdev.h Wed Jul 21 14:14:06 2010 +0100
+++ b/bsptemplate/asspandvariant/template_variant/inc/lffsdev.h Thu Jul 22 16:46:39 2010 +0100
@@ -47,18 +47,18 @@
#if FLASH_BUS_WIDTH == 32
#define TFLASHWORD TUint32
- #define FLASH_BYTES_TO_WORDS(aNumBytes) (aNumBytes >> 2)
- #define FLASH_ADDRESS_IN_BYTES(aWordAddr) (aWordAddr << 2)
+ #define FLASH_BYTES_TO_WORDS(aNumBytes) ((aNumBytes) >> 2)
+ #define FLASH_ADDRESS_IN_BYTES(aWordAddr) ((aWordAddr) << 2)
#define FLASH_ERASE_WORD_VALUE 0xFFFFFFFF
#elif FLASH_BUS_WIDTH == 16
#define TFLASHWORD TUint16
- #define FLASH_BYTES_TO_WORDS(aNumBytes) (aNumBytes >> 1)
- #define FLASH_ADDRESS_IN_BYTES(aWordAddr) (aWordAddr << 1)
+ #define FLASH_BYTES_TO_WORDS(aNumBytes) ((aNumBytes) >> 1)
+ #define FLASH_ADDRESS_IN_BYTES(aWordAddr) ((aWordAddr) << 1)
#define FLASH_ERASE_WORD_VALUE 0xFFFF
#else // FLASH_BUS_WIDTH == 8
#define TFLASHWORD TUint8
- #define FLASH_BYTES_TO_WORDS(aNumBytes) aNumBytes
- #define FLASH_ADDRESS_IN_BYTES(aWordAddr) aWordAddr
+ #define FLASH_BYTES_TO_WORDS(aNumBytes) (aNumBytes)
+ #define FLASH_ADDRESS_IN_BYTES(aWordAddr) (aWordAddr)
#define FLASH_ERASE_WORD_VALUE 0xFF
#endif
--- a/kernel/eka/common/arm/carray.cia Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/common/arm/carray.cia Thu Jul 22 16:46:39 2010 +0100
@@ -82,6 +82,7 @@
EXPORT_C __NAKED__ TInt RPointerArrayBase::Find(const TAny* /*anEntry*/, TGeneralIdentityRelation /*anIdentity*/) const
{
+ __EH_FNSTART
asm("stmfd sp!, {r4-r8,lr} ");
__EH_FRAME_PUSH2(r4-r8,lr)
asm("ldmia r0, {r4,r5} "); // r4=iCount, r5=iEntries
@@ -103,16 +104,17 @@
asm("ptr_find2_return: "); // return r6
asm("mov r0, r6 ");
__POPRET("r4-r8,");
+ __EH_FNEND
}
-EXPORT_C __NAKED__ TInt RPointerArrayBase::BinarySearchSigned(TInt /*anEntry*/, TInt& /*anIndex*/) const
+EXPORT_C TInt RPointerArrayBase::BinarySearchSigned(TInt anEntry, TInt& anIndex) const
{
- asm("mov r3, #0 ");
- // fall through
+ return RPointerArrayBase::BinarySearchSigned(anEntry, anIndex, 0);
}
EXPORT_C __NAKED__ TInt RPointerArrayBase::BinarySearchSigned(TInt /*anEntry*/, TInt& /*anIndex*/, TInt /*aMode*/) const
{
+ __EH_FNSTART
asm("stmfd sp!, {r4-r6,lr} ");
__EH_FRAME_PUSH2(r4-r6,lr)
asm("mov r6, r2 "); // r6=&anIndex
@@ -160,16 +162,17 @@
asm("bne 3b "); // if not, V=0 (left from subs), N=1 for last, 0 for first, Z=0 => LAST->LT FIRST->GT
asm("mov r2, r12 "); // if so, r2 = mid
__JUMP(,lr); // and return with r0 = 0
+ __EH_FNEND
}
-EXPORT_C __NAKED__ TInt RPointerArrayBase::BinarySearchUnsigned(TUint /*anEntry*/, TInt& /*anIndex*/) const
+EXPORT_C TInt RPointerArrayBase::BinarySearchUnsigned(TUint anEntry, TInt& anIndex) const
{
- asm("mov r3, #0 ");
- // fall through
+ return RPointerArrayBase::BinarySearchUnsigned(anEntry, anIndex, 0);
}
EXPORT_C __NAKED__ TInt RPointerArrayBase::BinarySearchUnsigned(TUint /*anEntry*/, TInt& /*anIndex*/, TInt /*aMode*/) const
{
+ __EH_FNSTART
asm("stmfd sp!, {r4-r6,lr} ");
__EH_FRAME_PUSH2(r4-r6,lr)
asm("mov r6, r2 "); // r6=&anIndex
@@ -218,10 +221,12 @@
asm("bne 3b "); // if not ANY, branch back
asm("mov r2, r12 "); // if ANY, r2 = mid
__JUMP(,lr); // and return with r0 = 0
+ __EH_FNEND
}
EXPORT_C __NAKED__ TInt RPointerArrayBase::BinarySearch(const TAny* /*anEntry*/, TInt& /*anIndex*/, TGeneralLinearOrder /*anOrder*/, TInt /*aMode*/) const
{
+ __EH_FNSTART
asm("stmfd sp!, {r2,r4-r11,lr} "); // store &anIndex, r4-r11, lr
__EH_FRAME_ADDRESS(sp,4)
__EH_FRAME_PUSH2(r4-r11,lr)
@@ -282,16 +287,17 @@
asm("2: ");
asm("mov r5, r8 "); // if ANY, r8 = mid
__JUMP(,r9); // and return with r0 = 0, Z=1
+ __EH_FNEND
}
-EXPORT_C __NAKED__ TInt RPointerArrayBase::FindIsqSigned(TInt /*anEntry*/) const
+EXPORT_C TInt RPointerArrayBase::FindIsqSigned(TInt anEntry) const
{
- asm("mov r2, #0 ");
- // fall through
+ return RPointerArrayBase::FindIsqSigned(anEntry, 0);
}
EXPORT_C __NAKED__ TInt RPointerArrayBase::FindIsqSigned(TInt /*anEntry*/, TInt /*aMode*/) const
{
+ __EH_FNSTART
#ifdef __EABI__
// sp needs correct alignment
asm("stmfd sp!, {r4-r6,lr} ");
@@ -308,16 +314,17 @@
#else
__POPRET("r4,r5,");
#endif
+ __EH_FNEND
}
-EXPORT_C __NAKED__ TInt RPointerArrayBase::FindIsqUnsigned(TUint /*anEntry*/) const
+EXPORT_C TInt RPointerArrayBase::FindIsqUnsigned(TUint anEntry) const
{
- asm("mov r2, #0 ");
- // fall through
+ return RPointerArrayBase::FindIsqUnsigned(anEntry, 0);
}
EXPORT_C __NAKED__ TInt RPointerArrayBase::FindIsqUnsigned(TUint /*anEntry*/, TInt /*aMode*/) const
{
+ __EH_FNSTART
#ifdef __EABI__
// sp needs correct alignment
asm("stmfd sp!, {r4-r6,lr} ");
@@ -334,17 +341,17 @@
#else
__POPRET("r4,r5,");
#endif
+ __EH_FNEND
}
-EXPORT_C __NAKED__ TInt RPointerArrayBase::FindIsq(const TAny* /*anEntry*/, TGeneralLinearOrder /*anOrder*/) const
+EXPORT_C TInt RPointerArrayBase::FindIsq(const TAny* anEntry, TGeneralLinearOrder anOrder) const
{
- asm("mov r3, #0 ");
- // fall through
+ return RPointerArrayBase::FindIsq(anEntry, anOrder, 0);
}
EXPORT_C __NAKED__ TInt RPointerArrayBase::FindIsq(const TAny* /*anEntry*/, TGeneralLinearOrder /*anOrder*/, TInt /*aMode*/) const
{
-
+ __EH_FNSTART
asm("stmfd sp!, {r3-r11,lr} ");
__EH_FRAME_PUSH2(r4-r6,lr)
asm("ldmia r0, {r5,r6} "); // r5=count, r6=iEntries
@@ -354,11 +361,13 @@
asm("bl BinarySearchPointers ");
asm("moveq r0, r5 "); // if match, r0=match index
__POPRET("r3-r11,");
+ __EH_FNEND
}
#ifndef __KERNEL_MODE__
EXPORT_C __NAKED__ void RPointerArrayBase::HeapSortSigned()
{
+ __EH_FNSTART
#ifdef __EABI__
asm("stmfd sp!, {r4-r10,lr} ");
__EH_FRAME_PUSH2(r4-r10,lr)
@@ -420,6 +429,7 @@
asm("bgt hss_loop_start2 ");
asm("str r7, [r5, #0] ");
__JUMP(,lr);
+ __EH_FNEND
}
EXPORT_C __NAKED__ void RPointerArrayBase::HeapSortUnsigned()
@@ -492,6 +502,7 @@
#ifndef __KERNEL_MODE__
EXPORT_C __NAKED__ void RPointerArrayBase::HeapSort(TGeneralLinearOrder /*anOrder*/)
{
+ __EH_FNSTART
asm("stmfd sp!, {r3-r11,lr} ");
// r3 is caller save
__EH_FRAME_ADDRESS(sp,4)
@@ -553,6 +564,7 @@
asm("bgt hsp_loop_start2 ");
asm("str r7, [r5, #0] ");
__JUMP(,r11);
+ __EH_FNEND
}
#endif // __KERNEL_MODE__
@@ -623,6 +635,7 @@
EXPORT_C __NAKED__ TInt RArrayBase::Find(const TAny* /*anEntry*/, TGeneralIdentityRelation /*anIdentity*/) const
{
+ __EH_FNSTART
asm("stmfd sp!, {r4-r10,lr} "); // save r4-r10,lr
__EH_FRAME_PUSH2(r4-r10,lr)
asm("ldmia r0, {r4,r5,r6} "); // r4=count, r5=iEntries, r6=iEntrySize
@@ -644,16 +657,17 @@
asm("simple_find2_return: ");
asm("sub r0, r7, r4 "); // index=count-r4
__POPRET("r4-r10,");
+ __EH_FNEND
}
-EXPORT_C __NAKED__ TInt RArrayBase::BinarySearchSigned(const TAny* /*anEntry*/, TInt& /*anIndex*/) const
+EXPORT_C TInt RArrayBase::BinarySearchSigned(const TAny* anEntry, TInt& anIndex) const
{
- asm("mov r3, #0 ");
- // fall through
+ return RArrayBase::BinarySearchSigned(anEntry, anIndex, 0);
}
EXPORT_C __NAKED__ TInt RArrayBase::BinarySearchSigned(const TAny* /*anEntry*/, TInt& /*anIndex*/, TInt /*aMode*/) const
{
+ __EH_FNSTART
asm("stmfd sp!, {r4-r8,lr} ");
__EH_FRAME_PUSH2(r4-r8,lr)
asm("mov r8, r2 "); // r8=&anIndex
@@ -709,16 +723,17 @@
asm("bne 3b "); // if not, V=0 (left from subs), N=1 for last, 0 for first, Z=0 => LAST->LT FIRST->GT
asm("mov r2, r12 "); // if so, r2 = mid
__JUMP(,lr); // and return with r0 = 0
+ __EH_FNEND
}
-EXPORT_C __NAKED__ TInt RArrayBase::BinarySearchUnsigned(const TAny* /*anEntry*/, TInt& /*anIndex*/) const
+EXPORT_C TInt RArrayBase::BinarySearchUnsigned(const TAny* anEntry, TInt& anIndex) const
{
- asm("mov r3, #0 ");
- // fall through
+ return RArrayBase::BinarySearchUnsigned(anEntry, anIndex, 0);
}
EXPORT_C __NAKED__ TInt RArrayBase::BinarySearchUnsigned(const TAny* /*anEntry*/, TInt& /*anIndex*/, TInt /*aMode*/) const
{
+ __EH_FNSTART
asm("stmfd sp!, {r4-r8,lr} ");
__EH_FRAME_PUSH2(r4-r8,lr)
asm("mov r8, r2 "); // r8=&anIndex
@@ -775,10 +790,12 @@
asm("bne 3b "); // if not ANY, branch back
asm("mov r2, r12 "); // if ANY, r2 = mid
__JUMP(,lr); // and return with r0 = 0
+ __EH_FNEND
}
EXPORT_C __NAKED__ TInt RArrayBase::BinarySearch(const TAny* /*anEntry*/, TInt& /*anIndex*/, TGeneralLinearOrder /*anOrder*/, TInt /*aMode*/) const
{
+ __EH_FNSTART
asm("stmfd sp!, {r3-r11,lr} ");
// r3 is caller save
__EH_FRAME_ADDRESS(sp,4)
@@ -836,16 +853,17 @@
asm("2: ");
asm("mov r5, r8 "); // if ANY, r8 = mid
__POPRET("r2,"); // and return with r0 = 0, Z=1
+ __EH_FNEND
}
-EXPORT_C __NAKED__ TInt RArrayBase::FindIsqSigned(const TAny* /*anEntry*/) const
+EXPORT_C TInt RArrayBase::FindIsqSigned(const TAny* anEntry) const
{
- asm("mov r2, #0 ");
- // fall through
+ return RArrayBase::FindIsqSigned(anEntry, 0);
}
EXPORT_C __NAKED__ TInt RArrayBase::FindIsqSigned(const TAny* /*anEntry*/, TInt /*aMode*/) const
{
+ __EH_FNSTART
#ifdef __EABI__
// sp needs to be aligned correctly
asm("stmfd sp!, {r4-r8,lr} ");
@@ -869,16 +887,17 @@
#else
__POPRET("r4-r7,");
#endif
+ __EH_FNEND
}
-EXPORT_C __NAKED__ TInt RArrayBase::FindIsqUnsigned(const TAny* /*anEntry*/) const
+EXPORT_C TInt RArrayBase::FindIsqUnsigned(const TAny* anEntry) const
{
- asm("mov r2, #0 ");
- // fall through
+ return RArrayBase::FindIsqUnsigned(anEntry, 0);
}
EXPORT_C __NAKED__ TInt RArrayBase::FindIsqUnsigned(const TAny* /*anEntry*/, TInt /*aMode*/) const
{
+ __EH_FNSTART
#ifdef __EABI__
// sp needs to be aligned correctly
asm("stmfd sp!, {r4-r8,lr} ");
@@ -902,16 +921,17 @@
#else
__POPRET("r4-r7,");
#endif
+ __EH_FNEND
}
-EXPORT_C __NAKED__ TInt RArrayBase::FindIsq(const TAny* /*anEntry*/, TGeneralLinearOrder /*anOrder*/) const
+EXPORT_C TInt RArrayBase::FindIsq(const TAny* anEntry, TGeneralLinearOrder anOrder) const
{
- asm("mov r3, #0 ");
- // fall through
+ return RArrayBase::FindIsq(anEntry, anOrder, 0);
}
EXPORT_C __NAKED__ TInt RArrayBase::FindIsq(const TAny* /*anEntry*/, TGeneralLinearOrder /*anOrder*/, TInt /*aMode*/) const
{
+ __EH_FNSTART
asm("stmfd sp!, {r3-r11,lr} ");
// r3 is caller save
__EH_FRAME_ADDRESS(sp,4)
@@ -924,11 +944,13 @@
asm("bl BinarySearchEntries ");
asm("moveq r0, r5 "); // if match r0=index
__POPRET("r3-r11,");
+ __EH_FNEND
}
#ifndef __KERNEL_MODE__
EXPORT_C __NAKED__ void RArrayBase::HeapSortSigned()
{
+// __EH_FNSTART
#ifdef __EABI__
// need sp aligned correctly
asm("stmfd sp!, {r3-r11,lr} ");
@@ -1017,10 +1039,12 @@
asm("bl wordmove "); // entry[0]=[sp]
asm("add sp, sp, r10 "); // free temporary stack space
__JUMP(,r7);
+// __EH_FNEND
}
EXPORT_C __NAKED__ void RArrayBase::HeapSortUnsigned()
{
+// __EH_FNSTART
#ifdef __EABI__
// need sp aligned correctly
asm("stmfd sp!, {r3-r11,lr} ");
@@ -1109,10 +1133,12 @@
asm("bl wordmove "); // entry[0]=[sp]
asm("add sp, sp, r10 "); // free temporary stack space
__JUMP(,r7);
+// __EH_FNEND
}
EXPORT_C __NAKED__ void RArrayBase::HeapSort(TGeneralLinearOrder anOrder)
{
+// __EH_FNSTART
#ifdef __EABI__
// need sp aligned correctly
asm("stmfd sp!, {r3-r11,lr} ");
@@ -1204,6 +1230,7 @@
asm("bl wordmove "); // entry[0]=[sp]
asm("ldr sp, [sp, r10] "); // restore stack pointer, freeing temporary stack space
__POPRET("");
+// __EH_FNEND
}
#endif // __KERNEL_MODE__
#endif // __ARRAY_MACHINE_CODED__
--- a/kernel/eka/common/arm/cdes16.cia Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/common/arm/cdes16.cia Thu Jul 22 16:46:39 2010 +0100
@@ -183,7 +183,7 @@
asm("sub r3, r3, r1 "); // r3 = 2*length
asm("mov r3, r3, lsr #1 "); // r3 = length (+EBufC)
asm("cmp r3, r2 "); // check against max length
- asm("bgt Des16PanicLengthOutOfRange__Fv ");
+ asm("bgt " CSM_Z26Des16PanicLengthOutOfRangev);
asm("stmfd sp!, {r0,lr} "); // save registers for function call
asm("str r3, [r0], #4 "); // save length/type field, r0->buffer
asm("add r2, r3, r3 "); // size=2*length into r2 for function call
@@ -230,7 +230,7 @@
asm("sub r3, r3, r1 "); // r3 = 2*length
asm("mov r3, r3, lsr #1 "); // r3 = length (+EBufC)
asm("cmp r3, r2 "); // check against max length
- asm("bgt Des16PanicLengthOutOfRange__Fv ");
+ asm("bgt " CSM_Z26Des16PanicLengthOutOfRangev);
asm("str r3, [r0], #4 "); // save length/type field, r0->buffer
asm("add r2, r3, r3 "); // size=2*length into r2 for function call
asm("b memmove "); // call memmove
@@ -290,7 +290,7 @@
asm("rsb r3, r12, r1, lsr #1 "); // r3 = length + 1
asm("sub r3, r3, #1 "); // r3 = length
asm("cmp r3, r2 "); // compare to max length
- asm("bgt Des16PanicLengthOutOfRange__Fv "); // length too big, so panic
+ asm("bgt " CSM_Z26Des16PanicLengthOutOfRangev); // length too big, so panic
asm("orr r1, r3, #0x30000000 "); // if length<=max, r1=EBuf + length
asm("stmfd sp!, {r0, lr} "); // save registers for function call
asm("stmia r0!, {r1, r2} "); // store type/length and max length fields, r0->buffer
@@ -373,9 +373,9 @@
asm("mov r2, r2, lsr #1 "); // r2=length of string
asm("ldmia r0, {r3,r12} "); // r3=type/length of this, r12=maxlength
asm("cmp r2, r12 "); // compare new length against maxlength
- asm("bgt Des16PanicDesOverflow__Fv ");
+ asm("bgt " CSM_Z21Des16PanicDesOverflowv);
asm("cmp r3, #0x50000000 ");
- asm("bcs Des16PanicBadDesType__Fv ");
+ asm("bcs " CSM_Z20Des16PanicBadDesTypev);
asm("and r3, r3, #0xF0000000 "); // r3=type of this
asm("orr r3, r3, r2 "); // r3=new type/length
asm("str r3, [r0], #4 "); // store it
@@ -451,12 +451,12 @@
// Return TPtr8 ([r0]=length/type,[r0,#4]=maxLength,[r0,#8]=Ptr)
asm("ldr r3, [r1], #4 "); // r3=this.length/type
asm("cmp r2, #0 "); // check aLength>=0
- asm("blt Des16PanicPosOutOfRange__Fv "); // if not, panic
+ asm("blt " CSM_Z23Des16PanicPosOutOfRangev); // if not, panic
asm("bic r12, r3, #0xF0000000 "); // r12=this.Length()
asm("cmp r2, r12 "); // else limit aLength to Length()
asm("movgt r2, r12 ");
asm("cmp r3, #0x50000000 ");
- asm("bcs Des16PanicBadDesType__Fv ");
+ asm("bcs " CSM_Z20Des16PanicBadDesTypev);
asm("eor r3, r3, r3, lsr #1 ");
asm("msr cpsr_flg, r3 ");
asm("addcs r1, r1, #4 ");
@@ -477,12 +477,12 @@
// Return TPtr8 ([r0]=length/type,[r0,#4]=maxLength,[r0,#8]=Ptr)
asm("ldr r3, [r1], #4 "); // r3=this.length/type
asm("cmp r2, #0 "); // check aLength>=0
- asm("blt Des16PanicPosOutOfRange__Fv "); // if not, panic
+ asm("blt " CSM_Z23Des16PanicPosOutOfRangev); // if not, panic
asm("bic r12, r3, #0xF0000000 "); // r12=this.Length()
asm("cmp r2, r12 "); // else limit aLength to Length()
asm("movgt r2, r12 ");
asm("cmp r3, #0x50000000 ");
- asm("bcs Des16PanicBadDesType__Fv ");
+ asm("bcs " CSM_Z20Des16PanicBadDesTypev);
asm("eor r3, r3, r3, lsr #1 ");
asm("msr cpsr_flg, r3 ");
asm("addcs r1, r1, #4 ");
@@ -506,9 +506,9 @@
asm("bic r12, r3, #0xF0000000 "); // r12=this.Length()
asm("cmp r2, #0 "); // check aPos>=0
asm("cmpge r12, r2 "); // if so check Length()>=aPos
- asm("blt Des16PanicPosOutOfRange__Fv ");
+ asm("blt " CSM_Z23Des16PanicPosOutOfRangev);
asm("cmp r3, #0x50000000 ");
- asm("bcs Des16PanicBadDesType__Fv ");
+ asm("bcs " CSM_Z20Des16PanicBadDesTypev);
asm("eor r3, r3, r3, lsr #1 ");
asm("msr cpsr_flg, r3 ");
asm("addcs r1, r1, #4 ");
@@ -532,7 +532,7 @@
asm("ldr r12, [r1], #4 "); // r12=this.length/type
asm("mov r4, r1 ");
asm("cmp r12, #0x50000000 "); // check valid descriptor type
- asm("bcs Des16PanicBadDesType__Fv ");
+ asm("bcs " CSM_Z20Des16PanicBadDesTypev);
asm("eor r12, r12, r12, lsr #1 ");
asm("msr cpsr_flg, r12 ");
asm("ldr r12, [r1, #-4] ");
@@ -549,7 +549,7 @@
asm("stmgeia r0, {r1-r3} ");
asm("ldrge r4, [sp], #4 ");
__JUMP(ge,lr);
- asm("b Des16PanicPosOutOfRange__Fv ");
+ asm("b " CSM_Z23Des16PanicPosOutOfRangev);
}
__NAKED__ EXPORT_C const TUint16& TDesC16::AtC(TInt /*anIndex*/) const
@@ -581,7 +581,7 @@
{
asm("ldr r2, [r0], #4 "); // r2=length/type
asm("cmp r2, #0x50000000 ");
- asm("bcs Des16PanicBadDesType__Fv ");
+ asm("bcs " CSM_Z20Des16PanicBadDesTypev);
asm("bics r3, r2, #0xF0000000 "); // r3=length
asm("mvneq r0, #0 "); // if length=0, not found
__JUMP(eq,lr);
@@ -611,7 +611,7 @@
{
asm("ldr r2, [r0], #4 "); // r2=length/type
asm("cmp r2, #0x50000000 ");
- asm("bcs Des16PanicBadDesType__Fv ");
+ asm("bcs " CSM_Z20Des16PanicBadDesTypev);
asm("bics r3, r2, #0xF0000000 "); // r3=length
asm("mvneq r0, #0 "); // if length=0, not found
__JUMP(eq,lr);
@@ -643,7 +643,7 @@
asm("ldr r12, 1f ");
asm("b comparebody ");
asm("1: ");
- asm(".word " CSM_ZN3Mem8CompareFEPKtiS0_i);
+ asm(".word " CSM_ZN3Mem8CompareFEPKtiS1_i);
}
__NAKED__ EXPORT_C TInt TDesC16::CompareC(const TDesC16& /*aDes*/) const
@@ -654,7 +654,7 @@
asm("ldr r12, 1f ");
asm("b comparebody ");
asm("1: ");
- asm(".word " CSM_ZN3Mem8CompareCEPKtiS0_i);
+ asm(".word " CSM_ZN3Mem8CompareCEPKtiS1_i);
}
#endif
@@ -695,7 +695,7 @@
#ifdef __KERNEL_MODE__
asm(".word memcompare ");
#else
- asm(".word " CSM_ZN3Mem7CompareEPKtiS0_i);
+ asm(".word " CSM_ZN3Mem7CompareEPKtiS1_i);
#endif
}
#endif // __DES16_MACHINE_CODED__
@@ -820,12 +820,12 @@
// Return TPtr16 ([r0]=length/type,[r0,#4]=Ptr)
asm("ldr r3, [r1], #4 "); // r3=this.length/type
asm("cmp r2, #0 "); // check aLength>=0
- asm("blt Des16PanicPosOutOfRange__Fv "); // if not, panic
+ asm("blt " CSM_Z23Des16PanicPosOutOfRangev); // if not, panic
asm("bic r12, r3, #0xF0000000 "); // r12=this.Length()
asm("cmp r2, r12 "); // else limit aLength to Length()
asm("movgt r2, r12 ");
asm("cmp r3, #0x50000000 ");
- asm("bcs Des16PanicBadDesType__Fv ");
+ asm("bcs " CSM_Z20Des16PanicBadDesTypev);
asm("eor r3, r3, r3, lsr #1 ");
asm("msr cpsr_flg, r3 ");
asm("addcs r1, r1, #4 ");
@@ -846,12 +846,12 @@
// Return TPtr16 ([r0]=length/type,[r0,#4]=Ptr)
asm("ldr r3, [r1], #4 "); // r3=this.length/type
asm("cmp r2, #0 "); // check aLength>=0
- asm("blt Des16PanicPosOutOfRange__Fv "); // if not, panic
+ asm("blt " CSM_Z23Des16PanicPosOutOfRangev); // if not, panic
asm("bic r12, r3, #0xF0000000 "); // r12=this.Length()
asm("cmp r2, r12 "); // else limit aLength to Length()
asm("movgt r2, r12 ");
asm("cmp r3, #0x50000000 ");
- asm("bcs Des16PanicBadDesType__Fv ");
+ asm("bcs " CSM_Z20Des16PanicBadDesTypev);
asm("eor r3, r3, r3, lsr #1 ");
asm("msr cpsr_flg, r3 ");
asm("addcs r1, r1, #4 ");
@@ -875,9 +875,9 @@
asm("bic r12, r3, #0xF0000000 "); // r12=this.Length()
asm("cmp r2, #0 "); // check aPos>=0
asm("cmpge r12, r2 "); // if so check Length()>=aPos
- asm("blt Des16PanicPosOutOfRange__Fv ");
+ asm("blt " CSM_Z23Des16PanicPosOutOfRangev);
asm("cmp r3, #0x50000000 ");
- asm("bcs Des16PanicBadDesType__Fv ");
+ asm("bcs " CSM_Z20Des16PanicBadDesTypev);
asm("eor r3, r3, r3, lsr #1 ");
asm("msr cpsr_flg, r3 ");
asm("addcs r1, r1, #4 ");
@@ -899,7 +899,7 @@
// Return TPtr16 ([r0]=length/type,[r0,#4]=Ptr)
asm("ldr r12, [r1], #4 "); // r12=this.length/type
asm("cmp r12, #0x50000000 "); // check valid descriptor type
- asm("bcs Des16PanicBadDesType__Fv ");
+ asm("bcs " CSM_Z20Des16PanicBadDesTypev);
asm("eor r12, r12, r12, lsr #1 ");
asm("msr cpsr_flg, r12 ");
asm("ldr r12, [r1, #-4] ");
@@ -914,7 +914,7 @@
asm("orrge r1, r3, #0x10000000 "); // and r1 = aLength + EPtrC
asm("stmgeia r0, {r1,r2} ");
__JUMP(ge,lr);
- asm("b Des16PanicPosOutOfRange__Fv ");
+ asm("b " CSM_Z23Des16PanicPosOutOfRangev);
}
#endif // __EABI__
@@ -953,9 +953,9 @@
asm("ldmia r0, {r1,r2} "); // r1=length/type, r2=maxlength
asm("bic r3, r1, #0xF0000000 "); // r3=Length();
asm("cmp r3, r2 "); // check Length()<MaxLength()
- asm("bge Des16PanicDesOverflow__Fv ");
+ asm("bge " CSM_Z21Des16PanicDesOverflowv);
asm("cmp r1, #0x50000000 ");
- asm("bcs Des16PanicBadDesType__Fv ");
+ asm("bcs " CSM_Z20Des16PanicBadDesTypev);
asm("eor r1, r1, r1, lsr #1 ");
asm("msr cpsr_flg, r1 ");
asm("add r0, r0, #4 ");
@@ -977,9 +977,9 @@
asm("ldmia r0, {r2,r3} "); // r2=length/type, r3=maxlength
asm("bic r12, r2, #0xF0000000 "); // r12=Length();
asm("cmp r12, r3 "); // check Length()<MaxLength()
- asm("bge Des16PanicDesOverflow__Fv ");
+ asm("bge " CSM_Z21Des16PanicDesOverflowv);
asm("cmp r2, #0x50000000 ");
- asm("bcs Des16PanicBadDesType__Fv ");
+ asm("bcs " CSM_Z20Des16PanicBadDesTypev);
asm("add r2, r2, #1 "); // increment length by 1
asm("str r2, [r0] "); // store new length
asm("eor r2, r2, r2, lsr #1 ");
@@ -1072,7 +1072,7 @@
// on entry r0=this, r1=fill char
asm("ldr r3, [r0] "); // r3=length/type
asm("cmp r3, #0x50000000 ");
- asm("bcs Des16PanicBadDesType__Fv ");
+ asm("bcs " CSM_Z20Des16PanicBadDesTypev);
asm("bics r2, r3, #0xF0000000 "); // r2=Length()
__JUMP(eq,lr); // if length is zero, finished
asm("stmfd sp!, {r0,lr} "); // save registers for function call
--- a/kernel/eka/common/arm/cdes8.cia Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/common/arm/cdes8.cia Thu Jul 22 16:46:39 2010 +0100
@@ -441,12 +441,12 @@
// Return TPtr8 ([r0]=length/type,[r0,#4]=maxLength,[r0,#8]=Ptr)
asm("ldr r3, [r1], #4 "); // r3=this.length/type
asm("cmp r2, #0 "); // check aLength>=0
- asm("blt Des8PanicPosOutOfRange__Fv "); // if not panic
+ asm("blt " CSM_Z27Des8PanicDesIndexOutOfRangev); // if not panic
asm("bic r12, r3, #0xF0000000 "); // r12=this.Length()
asm("cmp r2, r12 "); // limit aLength to Length()
asm("movgt r2, r12 ");
asm("cmp r3, #0x50000000 "); // check type() <= 4
- asm("bcs Des8PanicBadDesType__Fv "); // if not, panic
+ asm("bcs " CSM_Z19Des8PanicBadDesTypev); // if not, panic
asm("eor r3, r3, r3, lsr #1 ");
asm("msr cpsr_flg, r3 ");
asm("addcs r1, r1, #4 ");
@@ -467,12 +467,12 @@
// Return TPtr8 ([r0]=length/type,[r0,#4]=maxLength,[r0,#8]=Ptr)
asm("ldr r3, [r1], #4 "); // r3=this.length/type
asm("cmp r2, #0 "); // check aLength>=0
- asm("blt Des8PanicPosOutOfRange__Fv "); // if not, panic
+ asm("blt " CSM_Z27Des8PanicDesIndexOutOfRangev); // if not, panic
asm("bic r12, r3, #0xF0000000 "); // r12=this.Length()
asm("cmp r2, r12 "); // limit aLength to Length()
asm("movgt r2, r12 ");
asm("cmp r3, #0x50000000 "); // check type() <= 4
- asm("bcs Des8PanicBadDesType__Fv ");
+ asm("bcs " CSM_Z19Des8PanicBadDesTypev);
asm("eor r3, r3, r3, lsr #1 ");
asm("msr cpsr_flg, r3 ");
asm("addcs r1, r1, #4 ");
@@ -496,9 +496,9 @@
asm("bic r12, r3, #0xF0000000 "); // r12=this.Length()
asm("cmp r2, #0 "); // check aPos>=0
asm("cmpge r12, r2 "); // if so check Length()>=aPos
- asm("blt Des8PanicPosOutOfRange__Fv ");
+ asm("blt " CSM_Z27Des8PanicDesIndexOutOfRangev);
asm("cmp r3, #0x50000000 "); // check type() <= 4
- asm("bcs Des8PanicBadDesType__Fv ");
+ asm("bcs " CSM_Z19Des8PanicBadDesTypev);
asm("eor r3, r3, r3, lsr #1 ");
asm("msr cpsr_flg, r3 ");
asm("addcs r1, r1, #4 ");
@@ -522,7 +522,7 @@
asm("ldr r12, [r1], #4 "); // r12=this.length/type
asm("mov r4, r1 ");
asm("cmp r12, #0x50000000 "); // check valid descriptor type
- asm("bcs Des8PanicBadDesType__Fv ");
+ asm("bcs " CSM_Z19Des8PanicBadDesTypev);
asm("eor r12, r12, r12, lsr #1 ");
asm("msr cpsr_flg, r12 ");
asm("ldr r12, [r1, #-4] ");
@@ -539,7 +539,7 @@
asm("stmgeia r0, {r1-r3} ");
asm("ldrge r4, [sp], #4 ");
__JUMP(ge,lr);
- asm("b Des8PanicPosOutOfRange__Fv ");
+ asm("b " CSM_Z27Des8PanicDesIndexOutOfRangev);
}
#endif
@@ -630,7 +630,7 @@
asm("ldr r12, 1f ");
asm("b comparebody ");
asm("1: ");
- asm(".word " CSM_ZN3Mem8CompareFEPKhiS0_i);
+ asm(".word " CSM_ZN3Mem8CompareFEPKhiS1_i);
}
__NAKED__ EXPORT_C TInt TDesC8::CompareC(const TDesC8& /*aDes*/) const
@@ -641,7 +641,7 @@
asm("ldr r12, 1f ");
asm("b comparebody ");
asm("1: ");
- asm(".word " CSM_ZN3Mem8CompareCEPKhiS0_i);
+ asm(".word " CSM_ZN3Mem8CompareCEPKhiS1_i);
}
#endif
@@ -798,12 +798,12 @@
// Return TPtrC8 ([r0]=length/type,[r0,#4]=Ptr)
asm("ldr r3, [r1], #4 "); // r3=this.length/type
asm("cmp r2, #0 "); // check aLength>=0
- asm("blt Des8PanicPosOutOfRange__Fv "); // if not panic
+ asm("blt " CSM_Z27Des8PanicDesIndexOutOfRangev); // if not panic
asm("bic r12, r3, #0xF0000000 "); // r12=this.Length()
asm("cmp r2, r12 "); // limit aLength to Length()
asm("movgt r2, r12 ");
asm("cmp r3, #0x50000000 "); // check type() <= 4
- asm("bcs Des8PanicBadDesType__Fv "); // if not, panic
+ asm("bcs " CSM_Z19Des8PanicBadDesTypev); // if not, panic
asm("eor r3, r3, r3, lsr #1 ");
asm("msr cpsr_flg, r3 ");
asm("addcs r1, r1, #4 ");
@@ -824,12 +824,12 @@
// Return TPtrC8 ([r0]=length/type,[r0,#4]=Ptr)
asm("ldr r3, [r1], #4 "); // r3=this.length/type
asm("cmp r2, #0 "); // check aLength>=0
- asm("blt Des8PanicPosOutOfRange__Fv "); // if not, panic
+ asm("blt " CSM_Z27Des8PanicDesIndexOutOfRangev); // if not, panic
asm("bic r12, r3, #0xF0000000 "); // r12=this.Length()
asm("cmp r2, r12 "); // limit aLength to Length()
asm("movgt r2, r12 ");
asm("cmp r3, #0x50000000 "); // check type() <= 4
- asm("bcs Des8PanicBadDesType__Fv ");
+ asm("bcs " CSM_Z19Des8PanicBadDesTypev);
asm("eor r3, r3, r3, lsr #1 ");
asm("msr cpsr_flg, r3 ");
asm("addcs r1, r1, #4 ");
@@ -853,9 +853,9 @@
asm("bic r12, r3, #0xF0000000 "); // r12=this.Length()
asm("cmp r2, #0 "); // check aPos>=0
asm("cmpge r12, r2 "); // if so check Length()>=aPos
- asm("blt Des8PanicPosOutOfRange__Fv ");
+ asm("blt " CSM_Z27Des8PanicDesIndexOutOfRangev);
asm("cmp r3, #0x50000000 "); // check type() <= 4
- asm("bcs Des8PanicBadDesType__Fv ");
+ asm("bcs " CSM_Z19Des8PanicBadDesTypev);
asm("eor r3, r3, r3, lsr #1 ");
asm("msr cpsr_flg, r3 ");
asm("addcs r1, r1, #4 ");
@@ -877,7 +877,7 @@
// Return TPtrC8 ([r0]=length/type,[r0,#4]=Ptr)
asm("ldr r12, [r1], #4 "); // r12=this.length/type
asm("cmp r12, #0x50000000 "); // check valid descriptor type
- asm("bcs Des8PanicBadDesType__Fv ");
+ asm("bcs " CSM_Z19Des8PanicBadDesTypev);
asm("eor r12, r12, r12, lsr #1 ");
asm("msr cpsr_flg, r12 ");
asm("ldr r12, [r1, #-4] ");
@@ -892,7 +892,7 @@
asm("orrge r1, r3, #0x10000000 "); // and r1=aLength + EPtrC
asm("stmgeia r0, {r1,r2} ");
__JUMP(ge,lr);
- asm("b Des8PanicPosOutOfRange__Fv ");
+ asm("b " CSM_Z27Des8PanicDesIndexOutOfRangev);
}
#endif
--- a/kernel/eka/common/arm/cmem.cia Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/common/arm/cmem.cia Thu Jul 22 16:46:39 2010 +0100
@@ -181,19 +181,46 @@
asm("small_fill_end: ");
__JUMP(,lr);
+ }
+
#ifdef __EABI__
- // The AEABI switched the order of arg2 and arg3 to save an intruction when
- // calling 'memset' from 'memclr'
- asm(".global __aeabi_memset8 ");
- asm("__aeabi_memset8: ");
- asm(".global __aeabi_memset4 ");
- asm("__aeabi_memset4: ");
- asm(".global __aeabi_memset ");
- asm("__aeabi_memset: ");
- asm(" and r2, r2, #255");
- asm(" b fill ");
-#endif
- }
+//mikek N.B. These __aeabi_mem functions are also defined in rvct/compsupp/aeabimem.cpp
+// and should be implemented in the compsupp library, not here, when we build one for gcce.
+
+#define EXPORT_EABI_MEMSET_VENEER(name) \
+extern "C" EXPORT_C __NAKED__ TAny* (name)(TAny* /*aTrg*/, unsigned int /*aLength*/, TInt /*aValue*/ ) \
+{ \
+ asm(" and r2, r2, #255"); \
+ asm(" b fill "); \
+}
+
+EXPORT_EABI_MEMSET_VENEER(__aeabi_memset8)
+EXPORT_EABI_MEMSET_VENEER(__aeabi_memset4)
+EXPORT_EABI_MEMSET_VENEER(__aeabi_memset)
+
+#define EXPORT_EABI_MEMCLR_ALIAS(alias) \
+extern "C" EXPORT_C __NAKED__ TAny* (alias)(TAny* /*aTrg*/, unsigned int /*aLength*/ ) \
+{ \
+ asm(" b memclr "); \
+}
+
+EXPORT_EABI_MEMCLR_ALIAS(__aeabi_memclr8)
+EXPORT_EABI_MEMCLR_ALIAS(__aeabi_memclr4)
+EXPORT_EABI_MEMCLR_ALIAS(__aeabi_memclr)
+
+#define EXPORT_EABI_MEMMOVE_ALIAS(alias,func) \
+extern "C" EXPORT_C __NAKED__ TAny* (alias)(TAny* /*aTrg*/, const TAny* /*aSrc*/, unsigned int /*aLength*/) \
+{ \
+ asm(" b " #func ); \
+}
+
+EXPORT_EABI_MEMMOVE_ALIAS(__aeabi_memcpy8,memcpy)
+EXPORT_EABI_MEMMOVE_ALIAS(__aeabi_memcpy4,memcpy)
+EXPORT_EABI_MEMMOVE_ALIAS(__aeabi_memcpy,memcpy)
+EXPORT_EABI_MEMMOVE_ALIAS(__aeabi_memmove8,memmove)
+EXPORT_EABI_MEMMOVE_ALIAS(__aeabi_memmove4,memmove)
+EXPORT_EABI_MEMMOVE_ALIAS(__aeabi_memmove,memmove)
+#endif // __EABI__
#endif // USE_REPLACEMENT_MEMSET
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/kernel/eka/common/arm/gccehlp.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -0,0 +1,121 @@
+// Copyright (c) 1995-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of the License "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Mike Kinghan, mikek@symbian.org, for Symbian Foundation
+//
+// Contributors:
+//
+// Description:
+// kernelhwsrv/kernel/eka/common/arm/gccehlp.cpp
+//
+//
+
+#include "../common.h"
+#include <nkern.h>
+
+extern "C" {
+EXPORT_C int __aeabi_idiv0 (int return_value)
+ {
+ FAULT();
+ return return_value;
+ }
+
+EXPORT_C long long __aeabi_ldiv0 (long long return_value)
+ {
+ FAULT();
+ return return_value;
+ }
+
+EXPORT_C int __cxa_pure_virtual()
+//
+// Gets called for any unreplaced pure virtual methods.
+//
+ {
+#ifdef __STANDALONE_NANOKERNEL__
+ __NK_ASSERT_ALWAYS(0);
+#else
+ Panic(EPureVirtualCalled);
+#endif
+ return 0;
+ }
+
+#ifdef __KERNEL_MODE__
+
+void __cxa_end_catch(){}
+
+void __cxa_begin_catch(){}
+
+void __cxa_rethrow(){}
+// std::terminate
+
+void __cxa_call_unexpected() {}
+
+void __aeabi_unwind_cpp_pr0() {}
+
+void __cxa_end_cleanup() {}
+
+EXPORT_C void __cxa_guard_abort() {}
+
+EXPORT_C void __cxa_guard_acquire() {}
+
+EXPORT_C void __cxa_guard_release() {}
+
+#endif
+}
+
+//
+// The global new operator.
+//
+#include <kernel/kernel.h>
+
+EXPORT_C TAny* operator new[](TUint aSize, const std::nothrow_t&) __NO_THROW
+ {
+ return Kern::Alloc(aSize);
+ }
+
+EXPORT_C TAny* operator new(TUint aSize, const std::nothrow_t&) __NO_THROW
+ {
+ return Kern::Alloc(aSize);
+ }
+
+
+
+__NAKED__ void __rt_exporter_dummy(void)
+ {
+// Ensure that "vtable for __cxxabiv1::__si_class_type_info" is available from ekern.exe
+// ** This is almost certainly just creating an instance of the symbol, without supplying the
+// ** required functionality!
+
+#define COMM_SYMBOL(x) asm(".comm " x ",4")
+
+COMM_SYMBOL("_ZTVN10__cxxabiv117__class_type_infoE"); // vtable for __cxxabiv1::__class_type_info
+COMM_SYMBOL("_ZTVN10__cxxabiv120__si_class_type_infoE"); // vtable for __cxxabiv1::__si_class_type_info
+COMM_SYMBOL("_ZTVN10__cxxabiv121__vmi_class_type_infoE"); // vtable for __cxxabiv1::__vmi_class_type_info
+
+// Implementations exist as globals in libgcc.a, we just need to pull them in
+#define IMPORT_GLOBAL(x) asm(".global " x );
+
+IMPORT_GLOBAL("__aeabi_lasr");
+IMPORT_GLOBAL("__aeabi_lcmp");
+IMPORT_GLOBAL("__aeabi_llsl");
+IMPORT_GLOBAL("__aeabi_llsr");
+IMPORT_GLOBAL("__aeabi_lmul");
+IMPORT_GLOBAL("__aeabi_ulcmp");
+
+// Implementations exist as "hidden" in libgcc.a, so we need to pull them in and reveal them
+// ** This version will completely fail to do that, but creates junk to be exported
+#define IMPORT_HIDDEN(x) asm(".comm " x ",4");
+
+// unaligned-funcs.c
+IMPORT_HIDDEN("__aeabi_uread4");
+IMPORT_HIDDEN("__aeabi_uread8");
+IMPORT_HIDDEN("__aeabi_uwrite4");
+IMPORT_HIDDEN("__aeabi_uwrite8");
+
+ }
+
--- a/kernel/eka/common/des16.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/common/des16.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -2013,7 +2013,7 @@
*/
{
__ASSERT_ALWAYS(aMaxLength>=0,Panic(ETDes16MaxLengthNegative));
- return new(STD_CLASS::Alloc(_FOFF(HBufC16,iBuf[aMaxLength]))) HBufC16(0);
+ return new(STD_CLASS::Alloc(_FOFF_DYNAMIC(HBufC16,iBuf[aMaxLength]))) HBufC16(0);
}
EXPORT_C HBufC16 *HBufC16::NewL(TInt aMaxLength)
@@ -2092,7 +2092,7 @@
*/
{
__ASSERT_ALWAYS(aMaxLength>=0,Panic(ETDes16MaxLengthNegative));
- return new(STD_CLASS::Alloc(_FOFF(HBufC16,iBuf[aMaxLength]))) HBufC16(aMaxLength);
+ return new(STD_CLASS::Alloc(_FOFF_DYNAMIC(HBufC16,iBuf[aMaxLength]))) HBufC16(aMaxLength);
}
EXPORT_C HBufC16 *HBufC16::NewMaxL(TInt aMaxLength)
--- a/kernel/eka/common/des8.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/common/des8.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -978,7 +978,7 @@
*/
{
__ASSERT_ALWAYS(aMaxLength>=0,Panic(ETDes8MaxLengthNegative));
- return new(STD_CLASS::Alloc(_FOFF(HBufC8,iBuf[aMaxLength]))) HBufC8(0);
+ return new(STD_CLASS::Alloc(_FOFF_DYNAMIC(HBufC8,iBuf[aMaxLength]))) HBufC8(0);
}
EXPORT_C HBufC8 *HBufC8::NewL(TInt aMaxLength)
@@ -1057,7 +1057,7 @@
*/
{
__ASSERT_ALWAYS(aMaxLength>=0,Panic(ETDes8MaxLengthNegative));
- return new(STD_CLASS::Alloc(_FOFF(HBufC8,iBuf[aMaxLength]))) HBufC8(aMaxLength);
+ return new(STD_CLASS::Alloc(_FOFF_DYNAMIC(HBufC8,iBuf[aMaxLength]))) HBufC8(aMaxLength);
}
EXPORT_C HBufC8 *HBufC8::NewMaxL(TInt aMaxLength)
--- a/kernel/eka/common/mem.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/common/mem.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -23,7 +23,6 @@
//NOTE - if these values are changed then the WINS test case value must be updated
#ifndef __MEM_MACHINE_CODED__
-
extern "C" {
// See header file e32cmn.h for the in-source documentation.
@@ -161,7 +160,7 @@
-
+//IMK: Should this __GCC32__ should be __GCCE__ now?
#if defined(__GCC32__) && !defined(__KERNEL_MODE__)
/**
Compares a block of data at one specified location with a block of data at
--- a/kernel/eka/compsupp/bld.inf Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/compsupp/bld.inf Thu Jul 22 16:46:39 2010 +0100
@@ -29,10 +29,11 @@
compsupp.iby /epoc32/rom/include/
-
PRJ_MMPFILES
-#if !defined GCCXML && !defined GCCE
+#if !defined GCCXML
+
+#if !defined GCCE
symcpp/scppnwdl.mmp
rvct/dfprvct-thunk.mmp
@@ -57,22 +58,34 @@
#endif
+#endif // !defined GCCE
+
PRJ_EXTENSIONS
-// Unzip RVCT3.1 runtime if being built with RVCT2.2 or RVCT4.0
-
-start extension tools/compsupp
+// Export the compiler-specific support files built by this component
+// when using the other versions of RVCT
-#if defined(ARMCC_2_2) || defined(ARMCC_4_0)
-option FILE $(EXTENSION_ROOT)/rt_3_1.zip
-#elif defined(ARMCC_3_1)
-option FILE $(EXTENSION_ROOT)/rt_2_2.zip
+#if !defined(ARMCC_2_2)
+start extension tools/compsupp
+option FILE $(EXTENSION_ROOT)/rt_2_2_export.zip
+option TODIR $(EPOCROOT)
+end
#endif
-option TODIR $(EPOCROOT)epoc32/release
-
+#if !defined(ARMCC_3_1)
+start extension tools/compsupp
+option FILE $(EXTENSION_ROOT)/rt_3_1_export.zip
+option TODIR $(EPOCROOT)
end
+#endif
-#endif // #if !defined GCCXML && !defined GCCE
+#if !defined(ARMCC_4_0)
+start extension tools/compsupp
+option FILE $(EXTENSION_ROOT)/rt_4_0_export.zip
+option TODIR $(EPOCROOT)
+end
+#endif
+
+#endif // #if !defined GCCXML
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/kernel/eka/compsupp/gcce/bld.inf Thu Jul 22 16:46:39 2010 +0100
@@ -0,0 +1,33 @@
+// Copyright (c) 2010 Symbian Foundation Ltd
+// This component and the accompanying materials are made available
+// under the terms of the License "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Symbian Foundation Ltd - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// GCC runtime support
+//
+//
+
+PRJ_PLATFORMS
+
+ARMV5
+
+
+PRJ_EXPORTS
+
+// Workaround for GCCE builds
+// Export the generic binaries which are currently only built with RVCT
+
+:zip ..\rt_generic_export.zip
+:zip ..\rt_4_0_export.zip
+
+PRJ_MMPFILES
+
+// none - (yet)
+
--- a/kernel/eka/compsupp/gcce/gcce.h Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/compsupp/gcce/gcce.h Thu Jul 22 16:46:39 2010 +0100
@@ -97,6 +97,7 @@
// __NAKED__ from cpudefs.h
#define __NAKED__ __declspec(naked)
#define ____ONLY_USE_NAKED_IN_CIA____ __declspec(naked)
+#define __WEAK__ __attribute__((weak))
// Int64 and Uint64 from nkern\nklib.h
typedef long long Int64;
@@ -167,9 +168,24 @@
// Support for throwing exceptions through embedded assembler
// Should only be needed user side
-#define __EH_FRAME_ADDRESS(reg,offset) FRAME ADDRESS reg, offset
-#define __EH_FRAME_PUSH2(reg1,reg2) FRAME PUSH {reg1, reg2}
-#define __EH_FRAME_SAVE1(reg,offset) FRAME SAVE {reg}, offset
+#define __VSTR(x) #x
+#define __STR(x) __VSTR(x)
+#define __GAS_SAVE_REG(reg) ".save {" __STR(reg) " }"
+#define __ASM_GAS_SAVE_REG(reg) asm( __GAS_SAVE_REG(reg) );
+#define __GAS_SAVE_REGS2(reg1,reg2) ".save {" __STR(reg1) "," __STR(reg2) "}"
+#define __ASM_GAS_SAVE_REGS2(reg1,reg2) asm( __GAS_SAVE_REGS2(reg1,reg2) );
+#define __GAS_SETFP(reg,offset) ".setfp fp," __STR(reg) ",#" __STR(offset)
+#define __ASM_GAS_SETFP(reg,offset) asm( __GAS_SETFP(reg,offset) );
+
+#define __EH_FRAME_ADDRESS(reg,offset) \
+ __ASM_GAS_SETFP(reg,offset)
+#define __EH_FRAME_PUSH2(reg1,reg2) __ASM_GAS_SAVE_REGS2(reg1,reg2)
+#define __EH_FRAME_SAVE1(reg,offset) \
+ __EH_FRAME_ADDRESS(fp,offset) \
+ __ASM_GAS_SAVE_REG(reg)
+
+#define __EH_FNSTART asm(".fnstart");
+#define __EH_FNEND asm(".fnend");
#endif
Binary file kernel/eka/compsupp/rt_2_2.zip has changed
Binary file kernel/eka/compsupp/rt_2_2_export.zip has changed
Binary file kernel/eka/compsupp/rt_3_1.zip has changed
Binary file kernel/eka/compsupp/rt_3_1_export.zip has changed
Binary file kernel/eka/compsupp/rt_4_0_export.zip has changed
Binary file kernel/eka/compsupp/rt_generic_export.zip has changed
--- a/kernel/eka/compsupp/rvct.h Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/compsupp/rvct.h Thu Jul 22 16:46:39 2010 +0100
@@ -116,6 +116,7 @@
// __NAKED__ from cpudefs.h
#define __NAKED__ __asm
#define ____ONLY_USE_NAKED_IN_CIA____ __asm
+#define __WEAK__ __attribute__((weak))
// Int64 and Uint64 from nkern\nklib.h
typedef long long Int64;
@@ -175,5 +176,9 @@
#define __EH_FRAME_ADDRESS(reg,offset) FRAME ADDRESS reg, offset
#define __EH_FRAME_PUSH2(reg1,reg2) FRAME PUSH {reg1, reg2}
#define __EH_FRAME_SAVE1(reg,offset) FRAME SAVE {reg}, offset
+
+ #define __EH_FNSTART
+ #define __EH_FNEND
+
#endif
--- a/kernel/eka/compsupp/rvct2_1/rvct2_1.h Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/compsupp/rvct2_1/rvct2_1.h Thu Jul 22 16:46:39 2010 +0100
@@ -191,4 +191,7 @@
#define __EH_FRAME_PUSH2(reg1,reg2) FRAME PUSH {reg1, reg2}
#define __EH_FRAME_SAVE1(reg,offset) FRAME SAVE {reg}, offset
+#define __EH_FNSTART
+#define __EH_FNEND
+
#endif
--- a/kernel/eka/debug/ost/inc/traceutils.h Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/debug/ost/inc/traceutils.h Thu Jul 22 16:46:39 2010 +0100
@@ -85,9 +85,17 @@
#ifdef __MARM_ARMV5__
//armv5
-#define GET_PC(pc) \
- TUint32 pc = 0; \
- asm("mov pc, __return_address()")
+ #if defined(__GCCE__)
+ #define GET_PC(pc) \
+ TUint32 pc = 0; \
+ asm("mov %[res], %[val]" : [res] "=r" (pc) : [val] "r" (__builtin_return_address(0)))
+ #elif defined(__ARMCC__)
+ #define GET_PC(pc) \
+ TUint32 pc = 0; \
+ asm("mov pc, __return_address()")
+ #else
+ #error What compiler?
+ #endif
#elif __MARM_ARM4__
//arm4 not implemented yet!
#define GET_PC(pc) \
--- a/kernel/eka/debug/utrace/inc/traceutils.h Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/debug/utrace/inc/traceutils.h Thu Jul 22 16:46:39 2010 +0100
@@ -77,9 +77,17 @@
#ifdef __MARM_ARMV5__
//armv5
-#define GET_PC(pc) \
- TUint32 pc = 0; \
- asm("mov pc, __return_address()")
+ #if defined(__GCCE__)
+ #define GET_PC(pc) \
+ TUint32 pc = 0; \
+ asm("mov %[res], %[val]" : [res] "=r" (pc) : [val] "r" (__builtin_return_address(0)))
+ #elif defined(__ARMCC__)
+ #define GET_PC(pc) \
+ TUint32 pc = 0; \
+ asm("mov pc, __return_address()")
+ #else
+ #error What compiler?
+ #endif
#elif __MARM_ARM4__
//arm4 not implemented yet!
#define GET_PC(pc) \
--- a/kernel/eka/drivers/debug/group/rm_debug_kerneldriver.mmh Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/drivers/debug/group/rm_debug_kerneldriver.mmh Thu Jul 22 16:46:39 2010 +0100
@@ -52,4 +52,9 @@
capability all
+#ifdef GCCE
+staticlibrary usrt4_0.lib
+library drtaeabi.dso
+#endif
+
SMPSAFE
--- a/kernel/eka/drivers/debug/rmdebug/d_rmd_stepping.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/drivers/debug/rmdebug/d_rmd_stepping.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -325,7 +325,13 @@
// determine the architecture
TUint32 cpuid;
+#if defined(__ARMCC__)
asm("mrc p15, 0, cpuid, c0, c0, 0 ");
+#elif defined(__GCCE__)
+ asm("mrc p15, 0, %[id], c0, c0, 0 " : [id] "=r" (cpuid));
+#else
+#error What compiler?
+#endif
LOG_MSG2("DRMDStepping::PCAfterInstructionExecutes() - cpuid = 0x%08x\n",cpuid);
cpuid >>= 8;
@@ -866,7 +872,7 @@
//
// ARM ARM DDI0406A - section A8.6.26
- if (inst32 & 0xFFF0FFFF == 0xE3C08F00)
+ if ((inst32 & 0xFFF0FFFF) == 0xE3C08F00)
{
LOG_MSG("ARM ARM DDI0406A - section A8.6.26 - BXJ is not supported");
@@ -879,7 +885,7 @@
// ARM ARM DDi046A - section B6.1.13 - SUBS PC,LR
//
// Encoding T1
- if (inst32 & 0xFFFFFF00 == 0xF3DE8F00)
+ if ((inst32 & 0xFFFFFF00) == 0xF3DE8F00)
{
LOG_MSG("ARM ARM DDI0406A - section B6.1.13 - SUBS PC,LR Encoding T1");
@@ -905,7 +911,7 @@
// ARM ARM DDI0406A - section A8.6.16 - B
//
// Branch Encoding T3
- if (inst32 & 0xF800D000 == 0xF0008000)
+ if ((inst32 & 0xF800D000) == 0xF0008000)
{
LOG_MSG("ARM ARM DDI0406A - section A8.6.16 - B Encoding T3");
@@ -930,7 +936,7 @@
// ARM ARM DDI0406A - section A8.6.16 - B
//
// Branch Encoding T4
- if (inst32 & 0xF800D000 == 0xF0009000)
+ if ((inst32 & 0xF800D000) == 0xF0009000)
{
LOG_MSG("ARM ARM DDI0406A - section A8.6.16 - B");
@@ -959,7 +965,7 @@
// ARM ARM DDI0406A - section A8.6.225 - TBB, TBH
//
// Table Branch Byte, Table Branch Halfword
- if (inst32 & 0xFFF0FFE0 == 0xE8D0F000)
+ if ((inst32 & 0xFFF0FFE0) == 0xE8D0F000)
{
LOG_MSG("ARM ARM DDI0406A - section A8.6.225 TBB,TBH Encoding T1");
@@ -1000,7 +1006,7 @@
// ARM ARM DDI0406A - section A8.6.55 - LDMDB, LDMEA
//
// LDMDB Encoding T1
- if (inst32 & 0xFFD02000 == 0xE9100000)
+ if ((inst32 & 0xFFD02000) == 0xE9100000)
{
LOG_MSG("ARM ARM DDI0406 - section A8.6.55 LDMDB Encoding T1");
@@ -1046,7 +1052,7 @@
// ARM ARM DDI0406A - section A8.6.121 POP
//
// POP.W Encoding T2
- if (inst32 & 0xFFFF2000 == 0xE8BD0000)
+ if ((inst32 & 0xFFFF2000) == 0xE8BD0000)
{
LOG_MSG("ARM ARM DDI0406A - section A8.6.121 POP Encoding T2");
@@ -1082,7 +1088,7 @@
}
// POP Encoding T3
- if (inst32 & 0xFFFF0FFFF == 0xF85D0B04)
+ if ((inst32 & 0xFFFF0FFFF) == 0xF85D0B04)
{
LOG_MSG("ARM ARM DDI0406A - section A8.6.121 POP Encoding T3");
--- a/kernel/eka/drivers/debug/rmdebug/d_rmd_stepping.inl Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/drivers/debug/rmdebug/d_rmd_stepping.inl Thu Jul 22 16:46:39 2010 +0100
@@ -238,7 +238,7 @@
{
//#define ARM_B_ADDR(x) ((x & 0x00800000) ? ((TUint32)(x) & 0x00FFFFFF | 0xFF000000) : (TUint32)(x) & 0x00FFFFFF)
- TUint32 aVal = ((aInst & 0x00800000) ? ((TUint32)(aInst) & 0x00FFFFFF | 0xFF000000) : (TUint32)(aInst) & 0x00FFFFFF);
+ TUint32 aVal = ((aInst & 0x00800000) ? (((TUint32)(aInst) & 0x00FFFFFF) | 0xFF000000) : (TUint32)(aInst) & 0x00FFFFFF);
return aVal;
}
--- a/kernel/eka/drivers/ecomm/d_comm.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/drivers/ecomm/d_comm.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -933,7 +933,7 @@
{
// Replace bad character
if (iConfig.iParityError==KConfigParityErrorReplaceChar)
- c = c & ~(0xff|KReceiveIsrParityError) | iConfig.iParityErrorChar;
+ c = (c & ~(0xff|KReceiveIsrParityError)) | iConfig.iParityErrorChar;
// Ignore parity error
if (iConfig.iParityError==KConfigParityErrorIgnore)
c = c & ~KReceiveIsrParityError;
--- a/kernel/eka/drivers/locmedia/traces/OstTraceDefinitions.h Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/drivers/locmedia/traces/OstTraceDefinitions.h Thu Jul 22 16:46:39 2010 +0100
@@ -17,5 +17,5 @@
// OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
// REMOVE BEFORE CHECK-IN TO VERSION CONTROL
//#define OST_TRACE_COMPILER_IN_USE
-#include <OpenSystemTrace.h>
+#include <opensystemtrace.h>
#endif
--- a/kernel/eka/drivers/medmmc/traces/OstTraceDefinitions.h Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/drivers/medmmc/traces/OstTraceDefinitions.h Thu Jul 22 16:46:39 2010 +0100
@@ -17,5 +17,5 @@
// OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
// REMOVE BEFORE CHECK-IN TO VERSION CONTROL
//#define OST_TRACE_COMPILER_IN_USE
-#include <OpenSystemTrace.h>
+#include <opensystemtrace.h>
#endif
--- a/kernel/eka/drivers/pbus/mmc/stack.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/drivers/pbus/mmc/stack.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -2453,8 +2453,8 @@
DISABLEPREEMPTION
- if( !iAbortReq &&
- ((iStackState & KMMCStackStateWaitingDFC) ||
+ if( ((!iAbortReq &&
+ ((iStackState & KMMCStackStateWaitingDFC))) ||
(iCompReq | iInitialise | iAttention)==0) ||
((iSessionP) && (iSessionP->iState & KMMCSessStateAllowDirectCommands)))
{
--- a/kernel/eka/drivers/pbus/mmc/traces/OstTraceDefinitions.h Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/drivers/pbus/mmc/traces/OstTraceDefinitions.h Thu Jul 22 16:46:39 2010 +0100
@@ -17,5 +17,5 @@
// OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
// REMOVE BEFORE CHECK-IN TO VERSION CONTROL
//#define OST_TRACE_COMPILER_IN_USE
-#include <OpenSystemTrace.h>
+#include <opensystemtrace.h>
#endif
--- a/kernel/eka/drivers/trace/arm/btracex_impl.cia Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/drivers/trace/arm/btracex_impl.cia Thu Jul 22 16:46:39 2010 +0100
@@ -161,7 +161,7 @@
#ifdef BTRACE_INCLUDE_TIMESTAMPS
#ifdef __SMP__
- asm("bl Timestamp__5NKern ");
+ asm("bl " CSM_ZN5NKern9TimestampEv);
asm("str r0, [r5], #4 "); // store timestamp low word
#ifdef USE_TIMESTAMP2
asm("str r1, [r5], #4 "); // store timestamp high word
--- a/kernel/eka/drivers/trace/btracec.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/drivers/trace/btracec.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -213,7 +213,7 @@
if (--retries<0)
return KErrInUse;
// sleep every 8 tries to give the write a chance
- if (retries&7==0)
+ if ((retries&7)==0)
User::AfterHighRes(1);
g0 = iGeneration;
__e32_memory_barrier();
--- a/kernel/eka/drivers/usbcsc/d_usbcsc.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/drivers/usbcsc/d_usbcsc.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -3523,7 +3523,7 @@
}
- if (iBuffer && (iBuffer->iStatusList.iState) || (!iRealEpNumber))
+ if ((iBuffer && (iBuffer->iStatusList.iState)) || (!iRealEpNumber))
{
if (iRequestCallbackInfo->iTransferDir==EControllerWrite)
iController->CancelWriteBuffer(iLdd, iRealEpNumber);
--- a/kernel/eka/drivers/usbcsc/usbcsc_bil.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/drivers/usbcsc/usbcsc_bil.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -160,7 +160,7 @@
TUint localTail = endpointHdr->iBilTail;
TUsbcScTransferHeader* currentTransfer = (TUsbcScTransferHeader*) (base + localTail);
- if ((localTail == (TUint)endpointHdr->iHead) || (currentTransfer->iAltSettingSeq != (iAltSettingSeq+1)&0xFFFF))
+ if ((localTail == (TUint)endpointHdr->iHead) || (currentTransfer->iAltSettingSeq != ((iAltSettingSeq+1)&0xFFFF)))
// if alternate setting has not changed
return KErrNotReady;
else
--- a/kernel/eka/euser/bld.inf Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/euser/bld.inf Thu Jul 22 16:46:39 2010 +0100
@@ -76,7 +76,7 @@
euser
#endif
-#if defined(GENERIC_MARM) && !defined(ARMCC)
+#if defined(GENERIC_MARM) && !defined(EABI)
#ifndef SMP
epoc/arm/eka1_entry_stub
#endif
--- a/kernel/eka/euser/epoc/arm/uc_dll.cia Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/euser/epoc/arm/uc_dll.cia Thu Jul 22 16:46:39 2010 +0100
@@ -72,6 +72,32 @@
#endif
#endif
+#elif defined(__GCCE__)
+#ifdef __SUPPORT_CPP_EXCEPTIONS__
+
+
+ /* It is possible no functions included in the image require
+ * a handler table. Therefore make only a weak reference to
+ * the handler table base symbol, which may be absent.
+ */
+ asm(".weak .ARM.extab$$Base");
+ asm(".global Symbian$$CPP$$Exception$$Descriptor");
+
+ /* Symbian$$CPP$$Exception$$Descriptor is referenced from the Image header.
+ * A pointer to this object can be cached by the unwinder in the UCB
+ * on the assumption that the EHT for the previous frame is likely to be right
+ * for the current frame
+ */
+
+ asm("Symbian$$CPP$$Exception$$Descriptor:");
+#ifdef __LEAVE_EQUALS_THROW__
+ asm(".word .ARM.exidx$$Base"); /* index table base */
+ asm(".word .ARM.exidx$$Limit"); /* index table limit */
+#endif
+ asm(".word Image$$ER_RO$$Base + 1"); /* RO segment base + mark as ehabi v2 */
+ asm(".word Image$$ER_RO$$Limit"); /* RO segment limit */
+ asm(".word 0"); /* reserved for future use */
+#endif
#endif
}
}
--- a/kernel/eka/euser/epoc/arm/uc_dll.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/euser/epoc/arm/uc_dll.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -44,11 +44,11 @@
return 0;
}
-#elif defined(__ARMCC__)
+#elif defined(__EABI__)
void __DLL_Export_Table__(void);
void __cpp_initialize__aeabi_(void);
-__weak void run_static_dtors(void);
+__WEAK__ void run_static_dtors(void);
GLDEF_C TInt _E32Dll_Body(TInt aReason)
{
--- a/kernel/eka/euser/epoc/arm/uc_exe.cia Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/euser/epoc/arm/uc_exe.cia Thu Jul 22 16:46:39 2010 +0100
@@ -62,7 +62,7 @@
asm("mov r11, sp "); // save stack pointer
// The frame starts 84 bytes (up) from r11 i.e. CFA is r11 + 84
- __EH_FRAME_ADDRESS(r11, 84)
+ __EH_FRAME_ADDRESS(sp, 84) // Reg needs to be sp (=r11) here for gcce
// we can only restore callee-save values, but that's what we want if we 'leave'
// saved link is -8 bytes from CFA (= r11 + 0x24 + 0x20 + 0x8)
__EH_FRAME_SAVE1(lr, -8)
@@ -73,10 +73,15 @@
__EH_FRAME_SAVE1(r4-r11, -48)
// but the macro expansion gives rise to odd code so we do what follows
#endif
-#ifdef __ARMCC__
+#if defined(__ARMCC__)
FRAME SAVE {r4-r11}, -48
+#elif defined(__GCCE__)
+ __EH_FRAME_SAVE1(r4-r11,-48)
+#else
+#error What compiler?
#endif
+
asm("bic sp, sp, #4 "); // align stack to 8 byte boundary
// asm("bl " CSM_ZN4User15HandleExceptionEPv );
asm("bl _xxxx_call_user_handle_exception ");
@@ -116,6 +121,32 @@
#endif
#endif
+#elif defined(__GCCE__)
+#ifdef __SUPPORT_CPP_EXCEPTIONS__
+
+
+ /* It is possible no functions included in the image require
+ * a handler table. Therefore make only a weak reference to
+ * the handler table base symbol, which may be absent.
+ */
+ asm(".weak .ARM.extab$$Base");
+ asm(".global Symbian$$CPP$$Exception$$Descriptor");
+
+ /* Symbian$$CPP$$Exception$$Descriptor is referenced from the Image header.
+ * A pointer to this object can be cached by the unwinder in the UCB
+ * on the assumption that the EHT for the previous frame is likely to be right
+ * for the current frame
+ */
+
+ asm("Symbian$$CPP$$Exception$$Descriptor:");
+#ifdef __LEAVE_EQUALS_THROW__
+ asm(".word .ARM.exidx$$Base"); /* index table base */
+ asm(".word .ARM.exidx$$Limit"); /* index table limit */
+#endif
+ asm(".word Image$$ER_RO$$Base + 1"); /* RO segment base + mark as ehabi v2 */
+ asm(".word Image$$ER_RO$$Limit"); /* RO segment limit */
+ asm(".word 0"); /* reserved for future use */
+#endif
#endif
}
--- a/kernel/eka/euser/epoc/arm/uc_exe.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/euser/epoc/arm/uc_exe.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -70,11 +70,11 @@
}
}
-#elif defined(__ARMCC__)
+#elif defined(__EABI__)
TInt CallThrdProcEntry(TInt (*aFn)(void*), void* aPtr, TInt aNotFirst);
-__weak void run_static_dtors(void);
+__WEAK__ void run_static_dtors(void);
void globalDestructorFunc()
{
--- a/kernel/eka/euser/epoc/arm/uc_i64.cia Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/euser/epoc/arm/uc_i64.cia Thu Jul 22 16:46:39 2010 +0100
@@ -21,7 +21,7 @@
#if defined(__GCC32__)
extern "C" void __division_by_zero();
#define DIV_BY_ZERO " __division_by_zero "
-#elif defined(__ARMCC__)
+#elif defined(__EABI__)
extern "C" void __rt_div0 (void);
#define DIV_BY_ZERO " __cpp(__rt_div0) "
#endif
--- a/kernel/eka/euser/epoc/arm/uc_realx.cia Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/euser/epoc/arm/uc_realx.cia Thu Jul 22 16:46:39 2010 +0100
@@ -3548,7 +3548,7 @@
#endif
#ifdef __REALS_MACHINE_CODED__
-#ifndef __ARMCC__
+#ifndef __EABI__
extern "C" {
extern "C" void __math_exception(TInt aErrType);
--- a/kernel/eka/euser/euser.mmh Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/euser/euser.mmh Thu Jul 22 16:46:39 2010 +0100
@@ -22,7 +22,7 @@
ALWAYS_BUILD_AS_ARM
#endif
-#if defined(USE_VFP_MATH) && defined(ARMCC)
+#if defined(USE_VFP_MATH) && defined(EABI)
macro __USE_VFP_MATH
#endif
--- a/kernel/eka/ewsrv/ky_tran.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/ewsrv/ky_tran.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -451,8 +451,8 @@
iDigits+=ch.DigitValue();
iErrorFlag=(TBool)(iErrorFlag
|| !ch.IsDigitGivenRadix(iRadix)
- || (iTermination==ETerminationByCtrlUp)
- && ((aModifiers&EModifierCtrl)==0));
+ || ((iTermination==ETerminationByCtrlUp)
+ && ((aModifiers&EModifierCtrl)==0)));
}
//
TBool TCtrlDigits::Terminated(TInt aModifiers) const
--- a/kernel/eka/include/cpudefs.h Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/include/cpudefs.h Thu Jul 22 16:46:39 2010 +0100
@@ -247,7 +247,7 @@
#define __COBJECT_MACHINE_CODED__
#define __CACTIVESCHEDULER_MACHINE_CODED__
#define __CSERVER_MACHINE_CODED__
- #define __ARRAY_MACHINE_CODED__
+// #define __ARRAY_MACHINE_CODED__ IMK working around bug #2976
#define __HUFFMAN_MACHINE_CODED__
#if defined(__MARM_ARM4__) || defined(__MARM_ARMI__) || defined(__MARM_THUMB__) || defined(__MARM_ARMV4__) || defined(__MARM_ARMV5__)
#define __DES16_MACHINE_CODED_HWORD__
--- a/kernel/eka/include/d32usbcsc.h Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/include/d32usbcsc.h Thu Jul 22 16:46:39 2010 +0100
@@ -1336,7 +1336,9 @@
This return value used by GetBuffer indicates that the item pointed to by
aBuffer/aOffset represents a state change, instead of endpoint data.
*/
- const static TInt KStateChange = 0x01;
+ enum {
+ KStateChange = 0x01
+ };
public:
IMPORT_C TEndpointBuffer();
--- a/kernel/eka/include/drivers/rm_debug_eventhandler.h Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/include/drivers/rm_debug_eventhandler.h Thu Jul 22 16:46:39 2010 +0100
@@ -27,12 +27,12 @@
TInt Start();
TInt Stop();
- inline void DRM_DebugEventHandler::LockDataAccess()
+ inline void LockDataAccess()
{
Kern::SemaphoreWait(*iProtectionLock);
}
- inline void DRM_DebugEventHandler::ReleaseDataAccess()
+ inline void ReleaseDataAccess()
{
Kern::SemaphoreSignal(*iProtectionLock);
}
--- a/kernel/eka/include/e32cia.h Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/include/e32cia.h Thu Jul 22 16:46:39 2010 +0100
@@ -28,7 +28,7 @@
// CIA symbols for USER side code
// CIA symbol macros for Gcc98r2
-#if defined(__GCC32__)
+#if defined(__GCC32__) && !defined(__EABI__)
#define CSM_ZN4Exec12PopTrapFrameEv " PopTrapFrame__4Exec"
#define CSM_ZN4User7ReAllocEPvii " ReAlloc__4UserPvii"
#define CSM_Z30PanicCObjectConIndexOutOfRangev " PanicCObjectConIndexOutOfRange__Fv"
@@ -134,8 +134,8 @@
// CIA symbols for KERNEL side code
// CIA symbol macros for Gcc98r2
-#if defined(__GCC32__)
-#define CSM_ZN1K8MsgInfoE " _1K.MsgInfo"
+#if defined(__GCC32__) && !defined(__EABI__)
+#define CSM_ZN1K7MsgInfoE " _1K.MsgInfo"
#define CSM_ZN14NFastSemaphore6SignalEv " Signal__14NFastSemaphore"
#define CSM_ZN4Kern4ExitEi " Exit__4Kerni"
#define CSM_ZN5NKern4ExitEv " Exit__5NKern"
@@ -244,9 +244,12 @@
#define CSM_ZN8DSession14PinDescriptorsEPiPA3_mPP17TVirtualPinObject "PinDescriptors__8DSessionPiPA2_UlPP17TVirtualPinObject"
#define CSM_ZN14TClientRequest5ResetEv "Reset__14TClientRequest"
#define CSM_ZN9RMessageK8CloseRefEv "CloseRef__9RMessageK"
+#define CSM_ZN14DBTraceFilter25CheckEm " Check__14DBTraceFilter2Ul"
+#define CSM_ZN19DKernelEventHandler8DispatchE12TKernelEventPvS1_ "Dispatch__19DKernelEventHandler12TKernelEventPvT2"
+
#elif defined(__ARMCC__)
// CIA symbol macros for RVCT
-#define CSM_ZN1K8MsgInfoE " __cpp(&K::MsgInfo)"
+#define CSM_ZN1K7MsgInfoE " __cpp(&K::MsgInfo)"
#define CSM_ZN14NFastSemaphore6SignalEv " __cpp(NFastSemaphore::Signal)"
#define CSM_ZN4Kern4ExitEi " __cpp(Kern::Exit)"
#define CSM_ZN5NKern4ExitEv " __cpp(NKern::Exit)"
@@ -355,9 +358,11 @@
#define CSM_ZN8DSession14PinDescriptorsEPiPA3_mPP17TVirtualPinObject " __cpp(DSession::PinDescriptors)"
#define CSM_ZN14TClientRequest5ResetEv "__cpp(TClientRequest::Reset)"
#define CSM_ZN9RMessageK8CloseRefEv "__cpp(RMessageK::CloseRef)"
+#define CSM_ZN14DBTraceFilter25CheckEm " __cpp(DBTraceFilter2::Check)"
+#define CSM_ZN19DKernelEventHandler8DispatchE12TKernelEventPvS1_ "__cpp(DKernelEventHandler::Dispatch)"
#else
// CIA symbol macros for EABI assemblers
-#define CSM_ZN1K8MsgInfoE " _ZN1K9MsgInfoE"
+#define CSM_ZN1K7MsgInfoE " _ZN1K7MsgInfoE"
#define CSM_ZN14NFastSemaphore6SignalEv " _ZN14NFastSemaphore6SignalEv"
#define CSM_ZN4Kern4ExitEi " _ZN4Kern4ExitEi"
#define CSM_ZN5NKern4ExitEv " _ZN5NKern4ExitEv"
@@ -466,27 +471,29 @@
#define CSM_ZN8DSession14PinDescriptorsEPiPA3_mPP17TVirtualPinObject "_ZN8DSession14PinDescriptorsEPiPA3_mPP17TVirtualPinObject"
#define CSM_ZN14TClientRequest5ResetEv "_ZN14TClientRequest5ResetEv"
#define CSM_ZN9RMessageK8CloseRefEv "_ZN9RMessageK8CloseRefEv"
+#define CSM_ZN14DBTraceFilter25CheckEm " _ZN14DBTraceFilter25CheckEm"
+#define CSM_ZN19DKernelEventHandler8DispatchE12TKernelEventPvS1_ " _ZN19DKernelEventHandler8DispatchE12TKernelEventPvS1_"
#endif
// CIA symbols for COMMON code (used both USER and KERNEL side)
// CIA symbol macros for Gcc98r2
-#if defined(__GCC32__)
+#if defined(__GCC32__) && !defined(__EABI__)
#define CSM_CFUNC(f) #f
#define CSM_Z26Des16PanicLengthOutOfRangev " Des16PanicLengthOutOfRange__Fv"
#define CSM_Z20Des8PanicDesOverflowv " Des8PanicDesOverflow__Fv"
#define CSM_ZN10RArrayBase4GrowEv " Grow__10RArrayBase"
-#define CSM_ZN3Mem8CompareCEPKtiS0_i " CompareC__3MemPCUsiT1i"
+#define CSM_ZN3Mem8CompareCEPKtiS1_i " CompareC__3MemPCUsiT1i"
#define CSM_Z20Des16PanicBadDesTypev " Des16PanicBadDesType__Fv"
#define CSM_Z24Des16PanicLengthNegativev " Des16PanicLengthNegative__Fv"
#define CSM_Z19Des8PanicBadDesTypev " Des8PanicBadDesType__Fv"
-#define CSM_ZN3Mem7CompareEPKtiS0_i " Compare__3MemPCUsiT1i"
+#define CSM_ZN3Mem7CompareEPKtiS1_i " Compare__3MemPCUsiT1i"
#define CSM_Z23Des8PanicLengthNegativev " Des8PanicLengthNegative__Fv"
#define CSM_ZN17RPointerArrayBase4GrowEv " Grow__17RPointerArrayBase"
#define CSM_Z28Des16PanicDesIndexOutOfRangev " Des16PanicDesIndexOutOfRange__Fv"
-#define CSM_ZN3Mem8CompareFEPKhiS0_i " CompareF__3MemPCUciT1i"
+#define CSM_ZN3Mem8CompareFEPKhiS1_i " CompareF__3MemPCUciT1i"
#define CSM_Z5Panic9TCdtPanic " Panic__F9TCdtPanic"
#define CSM_Z27Des8PanicDesIndexOutOfRangev " Des8PanicDesIndexOutOfRange__Fv"
-#define CSM_ZN3Mem8CompareFEPKtiS0_i " CompareF__3MemPCUsiT1i"
+#define CSM_ZN3Mem8CompareFEPKtiS1_i " CompareF__3MemPCUsiT1i"
#define CSM_Z26Des8PanicMaxLengthNegativev " Des8PanicMaxLengthNegative__Fv"
#define CSM_Z25Des8PanicLengthOutOfRangev " Des8PanicLengthOutOfRange__Fv"
#define CSM_Z21Des16PanicDesOverflowv " Des16PanicDesOverflow__Fv"
@@ -494,7 +501,7 @@
#define CSM_Z18PanicBadArrayIndexv " PanicBadArrayIndex__Fv"
#define CSM_Z22Des8PanicPosOutOfRangev " Des8PanicPosOutOfRange__Fv"
#define CSM_Z23Des16PanicPosOutOfRangev " Des16PanicPosOutOfRange__Fv"
-#define CSM_ZN3Mem8CompareCEPKhiS0_i " CompareC__3MemPCUciT1i"
+#define CSM_ZN3Mem8CompareCEPKhiS1_i " CompareC__3MemPCUciT1i"
#define CSM_Z22RHeap_PanicBadNextCellv " RHeap_PanicBadNextCell__Fv"
#define CSM_Z30PanicEWordMoveSourceNotAlignedv " PanicEWordMoveSourceNotAligned__Fv"
#define CSM_Z30PanicEWordMoveTargetNotAlignedv " PanicEWordMoveTargetNotAligned__Fv"
@@ -508,18 +515,18 @@
#define CSM_Z26Des16PanicLengthOutOfRangev " __cpp(Des16PanicLengthOutOfRange)"
#define CSM_Z20Des8PanicDesOverflowv " __cpp(Des8PanicDesOverflow)"
#define CSM_ZN10RArrayBase4GrowEv " __cpp(RArrayBase::Grow)"
-#define CSM_ZN3Mem8CompareCEPKtiS0_i " __cpp(static_cast<int (*) (const unsigned short*, int, const unsigned short*, int)>(&Mem::CompareC))"
+#define CSM_ZN3Mem8CompareCEPKtiS1_i " __cpp(static_cast<int (*) (const unsigned short*, int, const unsigned short*, int)>(&Mem::CompareC))"
#define CSM_Z20Des16PanicBadDesTypev " __cpp(Des16PanicBadDesType)"
#define CSM_Z24Des16PanicLengthNegativev " __cpp(Des16PanicLengthNegative)"
#define CSM_Z19Des8PanicBadDesTypev " __cpp(Des8PanicBadDesType)"
-#define CSM_ZN3Mem7CompareEPKtiS0_i " __cpp(static_cast<int (*) (const unsigned short*, int, const unsigned short*, int)>(&Mem::Compare))"
+#define CSM_ZN3Mem7CompareEPKtiS1_i " __cpp(static_cast<int (*) (const unsigned short*, int, const unsigned short*, int)>(&Mem::Compare))"
#define CSM_Z23Des8PanicLengthNegativev " __cpp(Des8PanicLengthNegative)"
#define CSM_ZN17RPointerArrayBase4GrowEv " __cpp(RPointerArrayBase::Grow)"
#define CSM_Z28Des16PanicDesIndexOutOfRangev " __cpp(Des16PanicDesIndexOutOfRange)"
-#define CSM_ZN3Mem8CompareFEPKhiS0_i " __cpp(static_cast<int (*) (const unsigned char*, int, const unsigned char*, int)>(&Mem::CompareF))"
+#define CSM_ZN3Mem8CompareFEPKhiS1_i " __cpp(static_cast<int (*) (const unsigned char*, int, const unsigned char*, int)>(&Mem::CompareF))"
#define CSM_Z5Panic9TCdtPanic " __cpp(Panic)"
#define CSM_Z27Des8PanicDesIndexOutOfRangev " __cpp(Des8PanicDesIndexOutOfRange)"
-#define CSM_ZN3Mem8CompareFEPKtiS0_i " __cpp(static_cast<int (*) (const unsigned short*, int, const unsigned short*, int)>(&Mem::CompareF))"
+#define CSM_ZN3Mem8CompareFEPKtiS1_i " __cpp(static_cast<int (*) (const unsigned short*, int, const unsigned short*, int)>(&Mem::CompareF))"
#define CSM_Z26Des8PanicMaxLengthNegativev " __cpp(Des8PanicMaxLengthNegative)"
#define CSM_Z25Des8PanicLengthOutOfRangev " __cpp(Des8PanicLengthOutOfRange)"
#define CSM_Z21Des16PanicDesOverflowv " __cpp(Des16PanicDesOverflow)"
@@ -527,7 +534,7 @@
#define CSM_Z18PanicBadArrayIndexv " __cpp(PanicBadArrayIndex)"
#define CSM_Z22Des8PanicPosOutOfRangev " __cpp(Des8PanicPosOutOfRange)"
#define CSM_Z23Des16PanicPosOutOfRangev " __cpp(Des16PanicPosOutOfRange)"
-#define CSM_ZN3Mem8CompareCEPKhiS0_i " __cpp(static_cast<int (*) (const unsigned char*, int, const unsigned char*, int)>(&Mem::CompareC))"
+#define CSM_ZN3Mem8CompareCEPKhiS1_i " __cpp(static_cast<int (*) (const unsigned char*, int, const unsigned char*, int)>(&Mem::CompareC))"
#define CSM_Z22RHeap_PanicBadNextCellv " __cpp(RHeap_PanicBadNextCell)"
#define CSM_Z30PanicEWordMoveSourceNotAlignedv " __cpp(PanicEWordMoveSourceNotAligned)"
#define CSM_Z30PanicEWordMoveTargetNotAlignedv " __cpp(PanicEWordMoveTargetNotAligned)"
@@ -540,18 +547,18 @@
#define CSM_Z26Des16PanicLengthOutOfRangev " _Z26Des16PanicLengthOutOfRangev"
#define CSM_Z20Des8PanicDesOverflowv " _Z20Des8PanicDesOverflowv"
#define CSM_ZN10RArrayBase4GrowEv " _ZN10RArrayBase4GrowEv"
-#define CSM_ZN3Mem8CompareCEPKtiS0_i " _ZN3Mem8CompareCEPKtiS0_i"
+#define CSM_ZN3Mem8CompareCEPKtiS1_i " _ZN3Mem8CompareCEPKtiS1_i"
#define CSM_Z20Des16PanicBadDesTypev " _Z20Des16PanicBadDesTypev"
#define CSM_Z24Des16PanicLengthNegativev " _Z24Des16PanicLengthNegativev"
#define CSM_Z19Des8PanicBadDesTypev " _Z19Des8PanicBadDesTypev"
-#define CSM_ZN3Mem7CompareEPKtiS0_i " _ZN3Mem7CompareEPKtiS0_i"
+#define CSM_ZN3Mem7CompareEPKtiS1_i " _ZN3Mem7CompareEPKtiS1_i"
#define CSM_Z23Des8PanicLengthNegativev " _Z23Des8PanicLengthNegativev"
#define CSM_ZN17RPointerArrayBase4GrowEv " _ZN17RPointerArrayBase4GrowEv"
#define CSM_Z28Des16PanicDesIndexOutOfRangev " _Z28Des16PanicDesIndexOutOfRangev"
-#define CSM_ZN3Mem8CompareFEPKhiS0_i " _ZN3Mem8CompareFEPKhiS0_i"
+#define CSM_ZN3Mem8CompareFEPKhiS1_i " _ZN3Mem8CompareFEPKhiS1_i"
#define CSM_Z5Panic9TCdtPanic " _Z5Panic9TCdtPanic"
#define CSM_Z27Des8PanicDesIndexOutOfRangev " _Z27Des8PanicDesIndexOutOfRangev"
-#define CSM_ZN3Mem8CompareFEPKtiS0_i " _ZN3Mem8CompareFEPKtiS0_i"
+#define CSM_ZN3Mem8CompareFEPKtiS1_i " _ZN3Mem8CompareFEPKtiS1_i"
#define CSM_Z26Des8PanicMaxLengthNegativev " _Z26Des8PanicMaxLengthNegativev"
#define CSM_Z25Des8PanicLengthOutOfRangev " _Z25Des8PanicLengthOutOfRangev"
#define CSM_Z21Des16PanicDesOverflowv " _Z21Des16PanicDesOverflowv"
@@ -559,7 +566,7 @@
#define CSM_Z18PanicBadArrayIndexv " _Z18PanicBadArrayIndexv"
#define CSM_Z22Des8PanicPosOutOfRangev " _Z22Des8PanicPosOutOfRangev"
#define CSM_Z23Des16PanicPosOutOfRangev " _Z23Des16PanicPosOutOfRangev"
-#define CSM_ZN3Mem8CompareCEPKhiS0_i " _ZN3Mem8CompareCEPKhiS0_i"
+#define CSM_ZN3Mem8CompareCEPKhiS1_i " _ZN3Mem8CompareCEPKhiS1_i"
#define CSM_Z22RHeap_PanicBadNextCellv " _Z22RHeap_PanicBadNextCellv"
#define CSM_Z30PanicEWordMoveSourceNotAlignedv " _Z30PanicEWordMoveSourceNotAlignedv"
#define CSM_Z30PanicEWordMoveTargetNotAlignedv " _Z30PanicEWordMoveTargetNotAlignedv"
--- a/kernel/eka/include/e32cmn.inl Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/include/e32cmn.inl Thu Jul 22 16:46:39 2010 +0100
@@ -6992,7 +6992,7 @@
inline const TSecureId* SSecureId::operator&() const
{ return (const TSecureId*)this; }
inline SSecureId::operator const TSecureId&() const
- { /* coverity[return_local_addr] */ return (const TSecureId&)iId; }
+ { return reinterpret_cast<const TSecureId&>(iId); }
inline SSecureId::operator TUint32() const
{ return iId; }
inline SSecureId::operator TUid() const
@@ -7032,7 +7032,7 @@
inline const TVendorId* SVendorId::operator&() const
{ return (const TVendorId*)this; }
inline SVendorId::operator const TVendorId&() const
- { /* coverity[return_local_addr] */ return (const TVendorId&)iId; }
+ { return reinterpret_cast<const TVendorId&>(iId); }
inline SVendorId::operator TUint32() const
{ return iId; }
inline SVendorId::operator TUid() const
--- a/kernel/eka/include/e32def.h Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/include/e32def.h Thu Jul 22 16:46:39 2010 +0100
@@ -443,10 +443,11 @@
@see TDblQue
*/
#ifndef _FOFF
+#define _FOFF_DYNAMIC(c,f) (((TInt)&(((c *)0x1000)->f))-0x1000) // can be a runtime calculation if f is not sufficiently constant
#if __GNUC__ < 4
-#define _FOFF(c,f) (((TInt)&(((c *)0x1000)->f))-0x1000)
+#define _FOFF(c,f) _FOFF_DYNAMIC(c,f)
#else
-#define _FOFF(c,f) __builtin_offsetof(c,f)
+#define _FOFF(c,f) (__builtin_offsetof(c,f))
#endif
#endif
--- a/kernel/eka/include/kernel/execs.h Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/include/kernel/execs.h Thu Jul 22 16:46:39 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/include/page_alloc.h Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/include/page_alloc.h Thu Jul 22 16:46:39 2010 +0100
@@ -18,7 +18,7 @@
#ifndef __KERNEL_MODE__
const int MAXSMALLPAGEBITS = 68<<3;
-#define MINPAGEPOWER PAGESHIFT+2
+#define MINPAGEPOWER ((PAGESHIFT)+2)
struct paged_bitmap
{
--- a/kernel/eka/kernel/arm/cache_maintenance.cia Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/kernel/arm/cache_maintenance.cia Thu Jul 22 16:46:39 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/cache_maintenancev7.cia Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/kernel/arm/cache_maintenancev7.cia Thu Jul 22 16:46:39 2010 +0100
@@ -72,11 +72,11 @@
__JUMP(,lr);
asm("__DCacheInfoPoU: ");
- asm(".word %a0" : : "i" ((TInt)&InternalCache::Info[KCacheInfoD_PoU]));
+ asm(".word %a0" : : "i" (&InternalCache::Info[KCacheInfoD_PoU]));
asm("__DCacheInfoPoC: ");
- 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]));
}
__NAKED__ void InternalCache::IMB_CacheLine(TLinAddr /*aAddr*/)
--- a/kernel/eka/kernel/arm/cexec.cia Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/kernel/arm/cexec.cia Thu Jul 22 16:46:39 2010 +0100
@@ -838,7 +838,7 @@
asm("b " CSM_ZN1K18PanicCurrentThreadEi);
asm("__KernMsgInfo: ");
- asm(".word " CSM_ZN1K8MsgInfoE);
+ asm(".word " CSM_ZN1K7MsgInfoE);
}
--- a/kernel/eka/kernel/arm/cipc.cia Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/kernel/arm/cipc.cia Thu Jul 22 16:46:39 2010 +0100
@@ -432,6 +432,6 @@
asm(".word TheScheduler ");
#endif
asm("__K_MsgInfo: ");
- asm(".word " CSM_ZN1K8MsgInfoE);
+ asm(".word " CSM_ZN1K7MsgInfoE);
}
#endif
--- a/kernel/eka/kernel/arm/ckernel.cia Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/kernel/arm/ckernel.cia Thu Jul 22 16:46:39 2010 +0100
@@ -38,7 +38,7 @@
#ifdef __DEBUGGER_SUPPORT__
asm("mov r0, #%a0" : : "i" ((TInt)EEventStartThread));
asm("mov r1, r4");
- asm("bl Dispatch__19DKernelEventHandler12TKernelEventPvT2");
+ asm("bl " CSM_ZN19DKernelEventHandler8DispatchE12TKernelEventPvS1_);
#endif
#ifdef __EMI_SUPPORT__
asm("mov r0,r4"); // a1=DThread;
@@ -271,7 +271,7 @@
asm(".word TheScheduler ");
#endif
asm("__IpcExcHandler: ");
- asm(".word %a0" : : "i" ((TInt)DThread::IpcExcHandler));
+ asm(".word %a0" : : "i" (DThread::IpcExcHandler));
asm("__default_exc_trap_handler: ");
asm("mov r1, #%a0" : : "i" ((TInt)KErrBadDescriptor)); // r0 already contains pointer to TExcTrap
// fall through
@@ -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/kernel/arm/d_entry.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/kernel/arm/d_entry.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -49,11 +49,11 @@
return KernelModuleEntry(aReason);
}
-#elif defined(__ARMCC__)
+#elif defined(__EABI__)
void __DLL_Export_Table__(void);
void __cpp_initialize__aeabi_(void);
-__weak void run_static_dtors(void);
+__WEAK__ void run_static_dtors(void);
GLDEF_C TInt _E32Dll_Body(TInt aReason)
//
--- a/kernel/eka/kernel/arm/k_entry.cia Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/kernel/arm/k_entry.cia Thu Jul 22 16:46:39 2010 +0100
@@ -71,7 +71,7 @@
asm("__CtorList: ");
asm(".word __CTOR_LIST__ ");
}
-#elif defined(__ARMCC__)
+#elif defined(__EABI__)
void __DLL_Export_Table__(void);
void __cpp_initialize__aeabi_();
@@ -80,7 +80,7 @@
void __record_needed_destruction (void * d){}
// 2.1 calls __aeabi_atexit passing __dso_handle. This can be a dummy (i.e. just a label)
-__asm void __dso_handle(void) {}
+__NAKED__ void __dso_handle(void) {}
void __aeabi_atexit(void *object, void (*dtor)(void *), void *handle){}
void _E32Startup_Body(TLinAddr aRomHeader, TLinAddr aSuperPage);
--- a/kernel/eka/kernel/arm/l_entry.cia Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/kernel/arm/l_entry.cia Thu Jul 22 16:46:39 2010 +0100
@@ -19,7 +19,7 @@
extern "C" {
-#if defined(__ARMCC__)
+#if defined(__EABI__)
void __DLL_Export_Table__(void);
#endif
--- a/kernel/eka/kernel/arm/v_entry.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/kernel/arm/v_entry.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -46,7 +46,7 @@
return KErrGeneral;
}
-#elif defined(__ARMCC__)
+#elif defined(__EABI__)
void __DLL_Export_Table__(void);
void __cpp_initialize__aeabi_();
@@ -55,7 +55,7 @@
// needs destruction. But kernel side static objects will never need this so, define it as a nop
void __record_needed_destruction (void * d){}
// 2.1 calls __aeabi_atexit passing __dso_handle. This can just be a label since its not used
-__asm void __dso_handle(void) {}
+__NAKED__ void __dso_handle(void) {}
void __aeabi_atexit(void *object, void (*dtor)(void *), void *handle){}
GLDEF_C TInt _E32Dll_Body(TInt aReason)
--- a/kernel/eka/kernel/arm/x_entry.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/kernel/arm/x_entry.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -41,7 +41,7 @@
return KernelModuleEntry(aReason);
}
-#elif defined(__ARMCC__)
+#elif defined(__EABI__)
void __DLL_Export_Table__(void);
void __cpp_initialize__aeabi_();
@@ -50,7 +50,7 @@
// needs destruction. But the kernel never will need this so, define it as a nop
void __record_needed_destruction (void * d){}
// 2.1 calls __aeabi_atexit passing __dso_handle. This can just be a label since its not used.
-__asm void __dso_handle(void){}
+__NAKED__ void __dso_handle(void){}
void __aeabi_atexit(void *object, void (*dtor)(void *), void *handle){}
GLDEF_C TInt _E32Dll_Body(TInt aReason)
--- a/kernel/eka/kernel/ekern.mmp Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/kernel/ekern.mmp Thu Jul 22 16:46:39 2010 +0100
@@ -87,13 +87,15 @@
source ckdes8.cia cumem.cia cbma.cia
sourcepath ../common/arm
source carray.cia cdes8.cia cmem.cia
-#if defined(GCC32)
-source cgcchelp.cpp cgcchelp.cia
-#elif defined(ARMCC)
+#if defined(ARMCC)
source armcchlp.cpp
#ifndef SBSV2
source armcchlp.cia
#endif
+#elif defined(GCCE)
+source gccehlp.cpp
+#elif defined(GCC32)
+source cgcchelp.cpp cgcchelp.cia
#endif
#if defined(REPLACE_GENERIC_UTILS)
--- a/kernel/eka/kernel/kdebug.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/kernel/kdebug.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -563,7 +563,7 @@
DChunk* chunk = (DChunk*)a1;
//The chunk will not neccesarily have an owning process.
- interested = hdrPresent && ( !chunk->iOwningProcess && hdr->iFlags & TFilterHeader::EGlobalEvents ||
+ interested = hdrPresent && ( (!chunk->iOwningProcess && hdr->iFlags & TFilterHeader::EGlobalEvents) ||
(chunk->iOwningProcess && DEventHandler::InterestedIn(aType, *(chunk->iOwningProcess->iName))));
Change() |= KDebuggerChangeChunk;
--- a/kernel/eka/kernel/smonitor.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/kernel/smonitor.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -655,7 +655,7 @@
__KTRACE_OPT(KALWAYS,Kern::Printf("All monitors have completed. Restarting..."));
//Ensure all characters make it to the serial port...
__KTRACE_OPT(KALWAYS,Kern::Printf(" "));
- if(restartType&ESoftRestart == ESoftRestart)
+ if((restartType&ESoftRestart) == ESoftRestart)
Kern::Restart(0);
else //EHardRestart
Kern::Restart(0x80000000);
--- a/kernel/eka/kernel/sprocess.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/kernel/sprocess.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -32,7 +32,7 @@
DProcess::DProcess()
: iPriority(EProcPriorityForeground),
iExitType((TUint8)EExitPending), iGeneration(1), iFlags(KProcessFlagJustInTime),
- iDynamicCode(8, _FOFF(SCodeSegEntry, iSeg), 2*256)
+ iDynamicCode(8, (TInt)_FOFF(SCodeSegEntry, iSeg), 2*256)
{
//reserve slot 0 for later use for the command line
iEnvironmentData[0] = EBinaryData;
@@ -115,7 +115,7 @@
TInt DProcess::SetPaging(const TProcessCreateInfo& aInfo)
{// Default implementation that only verifies flags, this virtual method
// is overridden in memory models that support paging.
- if (aInfo.iFlags & TProcessCreateInfo::EDataPagingMask ==
+ if ((aInfo.iFlags & TProcessCreateInfo::EDataPagingMask) ==
TProcessCreateInfo::EDataPagingMask)
{
return KErrCorrupt;
--- a/kernel/eka/memmodel/epoc/mmubase/ramalloc.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/memmodel/epoc/mmubase/ramalloc.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -396,9 +396,9 @@
aZone->iFlags &= ~KRamZoneFlagMark; // clear the mark as this zone is active
// Check if power state of zone needs to be changed
- if (iZonePowerFunc && !(iZonePwrState & (((TUint64)1) << aZone - iZones)))
+ if (iZonePowerFunc && !(iZonePwrState & (((TUint64)1) << (aZone - iZones))))
{//zone no longer empty so call variant to power RAM zone up if necessary
- iZonePwrState |= (((TUint64)1) << aZone - iZones);
+ iZonePwrState |= (((TUint64)1) << (aZone - iZones));
if (iZoneCallbackInitSent)
{
@@ -541,7 +541,7 @@
if (iZonePowerFunc && !(aZone->iFlags & KRamZoneFlagClaiming) &&
aZone->iFreePages == aZone->iPhysPages)
{// Zone is empty so call variant to power down RAM zone if desirable.
- TUint64 pwrMask = ~(((TUint64)1) << aZone - iZones);
+ TUint64 pwrMask = ~(((TUint64)1) << (aZone - iZones));
iZonePwrState &= pwrMask;
// Don't invoke callback until Init callback sent.
@@ -1009,7 +1009,7 @@
for (; zone2 < lastZone; zone2++)
{
if (zone->iPref > zone2->iPref ||
- zone->iPref == zone2->iPref && zone->iFreePages > zone2->iFreePages)
+ (zone->iPref == zone2->iPref && zone->iFreePages > zone2->iFreePages))
{
lowerZones++;
}
--- a/kernel/eka/nkern/arm/ncsched.cia Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/nkern/arm/ncsched.cia Thu Jul 22 16:46:39 2010 +0100
@@ -895,7 +895,7 @@
__JUMP(,lr);
asm("__PendingDfcQueue: ");
- asm(".word %a0" : : "i" ((TInt)&TheScheduler.iDfcs));
+ asm(".word %a0" : : "i" (&TheScheduler.iDfcs));
}
@@ -1760,11 +1760,11 @@
SET_THUMB2EE_HNDLR_BASE(,r1);
#endif
#ifdef __CPU_HAS_CP15_THREAD_ID_REG
- SET_RWRW_TID(,r3) // restore Thread ID from r3
+ SET_RWRW_TID(,r3); // restore Thread ID from r3
#endif
asm("mov r3, r2 "); // r3=TheCurrentThread
#ifdef __CPU_HAS_COPROCESSOR_ACCESS_REG
- SET_CAR(,r10)
+ SET_CAR(,r10);
#endif
#ifdef __CPU_ARM_USE_DOMAINS
asm("mcr p15, 0, r11, c3, c0, 0 ");
@@ -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 Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/nkern/arm/ncutilf.cia Thu Jul 22 16:46:39 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 Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/nkern/arm/ncutils.cia Thu Jul 22 16:46:39 2010 +0100
@@ -303,7 +303,7 @@
__ASM_CRASH();
asm("__CrashState: ");
- asm(".word %a0" : : "i" ((TInt)&CrashState));
+ asm(".word %a0" : : "i" (&CrashState));
}
@@ -501,7 +501,7 @@
asm("mov r6, r0");
- asm("bl Check__14DBTraceFilter2Ul");
+ asm("bl " CSM_ZN14DBTraceFilter25CheckEm);
// r0 = result
--- a/kernel/eka/nkern/arm/nk_entry.cia Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/nkern/arm/nk_entry.cia Thu Jul 22 16:46:39 2010 +0100
@@ -80,7 +80,7 @@
asm("__CtorList: ");
asm(".word __CTOR_LIST__ ");
}
-#elif defined(__ARMCC__)
+#elif defined(__EABI__)
void __DLL_Export_Table__(void);
void __cpp_initialize__aeabi_();
@@ -89,7 +89,7 @@
void __record_needed_destruction (void * d){}
// 2.1 calls __aeabi_atexit passing __dso_handle. This can be a dummy (i.e. just a label)
-__asm void __dso_handle(void) {}
+__NAKED__ void __dso_handle(void) {}
void __aeabi_atexit(void *object, void (*dtor)(void *), void *handle){}
void _E32Startup_Body(TLinAddr aRomHeader, TLinAddr aSuperPage);
--- a/kernel/eka/nkernsmp/arm/ncsched.cia Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/nkernsmp/arm/ncsched.cia Thu Jul 22 16:46:39 2010 +0100
@@ -866,7 +866,7 @@
asm("stmfd sp!, {r0,lr} ");
asm("mov r0, r3 ");
asm("mov r1, r12 ");
- asm("bl ReschedInactiveCpus__10TSchedulerUl ");
+ asm("bl ReschedInactiveCpus__10TSchedulerUl "); // CSM needed
asm("mov r12, r0 ");
asm("ldmfd sp!, {r0,lr} ");
asm("ldr r2, [r0, #%a0]" : : "i" _FOFF(TSubScheduler, iSSX.iGicDistAddr));
--- a/kernel/eka/nkernsmp/arm/ncthrd.cia Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/nkernsmp/arm/ncthrd.cia Thu Jul 22 16:46:39 2010 +0100
@@ -576,15 +576,15 @@
asm("mov r4, r0 ");
asm("mov r5, r1 ");
asm("mov r0, r1 ");
- asm("bl AcqSLock__12NSchedulable ");
+ asm("bl AcqSLock__12NSchedulable "); // CSM needed
asm("add r0, r5, #%a0" : : "i" _FOFF(NThreadBase, iWaitState));
asm("mov r1, #%a0" : : "i" ((TInt)NThreadBase::EWaitFastSemaphore));
asm("mov r2, r4 ");
asm("mov r3, #0 ");
- asm("bl UnBlockT__16NThreadWaitStateUiPvi ");
+ asm("bl UnBlockT__16NThreadWaitStateUiPvi "); // CSM needed
asm("mov r0, r5 ");
asm("ldmfd sp!, {r4-r6,lr} ");
- asm("b RelSLock__12NSchedulable ");
+ asm("b RelSLock__12NSchedulable "); // CSM needed
}
@@ -707,7 +707,7 @@
__ASM_STI();
asm("bl fs_signal_wake "); // wake up the thread
asm("ldmfd sp!, {r4,lr} ");
- asm("b Unlock__5NKern ");
+ asm("b " CSM_ZN5NKern6UnlockEv);
}
@@ -960,14 +960,14 @@
asm("bne 1b "); // no - retry
asm("mov r6, r0 ");
asm("tst r4, #%a0" : : "i" ((TInt)EWtStTimeout));
- asm("blne CancelTimerT__16NThreadWaitState ");
+ asm("blne CancelTimerT__16NThreadWaitState "); // CSM needed
asm("tst r4, #%a0" : : "i" ((TInt)EWtStWaitActive));
asm("beq 0f ");
asm("ldr r1, [r6, #%a0]" : : "i" (_FOFF(NThreadBase,iPauseCount)-_FOFF(NThreadBase,iWaitState)));
asm("sub r0, r6, #%a0" : : "i" _FOFF(NThreadBase,iWaitState)); // r0 = Thread()
asm("movs r1, r1, lsl #16 "); // check if iPauseCount=iSuspendCount=0
asm("andeq r1, r4, #%a0" : : "i" ((TInt)EWtStObstructed));
- asm("bleq ReadyT__12NSchedulableUi "); // if so, make thread ready
+ asm("bleq ReadyT__12NSchedulableUi "); // if so, make thread ready // CSM needed
asm("0: ");
asm("mov r0, #0 ");
__POPRET(" r4-r6,"); // return KErrNone
@@ -1002,7 +1002,7 @@
asm("2: ");
asm("mov r5, lr ");
- asm("bl CancelTimerT__16NThreadWaitState ");
+ asm("bl CancelTimerT__16NThreadWaitState "); // CSM needed
asm("mov r0, r4 ");
asm("mov lr, r5 ");
asm("ldmfd sp!, {r4-r5} ");
@@ -1039,7 +1039,7 @@
asm("ldr r0, btrace_hdr_fmsignal ");
asm("mov r2, #0 ");
asm("mov r3, #0 ");
- asm("bl OutX__6BTraceUlUlUlUl ");
+ asm("bl " CSM_ZN6BTrace4OutXEmmmm);
asm("ldmfd sp!, {r0,lr} ");
#endif
GET_RWNO_TID(,r3);
@@ -1069,7 +1069,7 @@
asm("orr r12, r0, #1 ");
asm("str r12, [r1, #%a0]" : : "i" _FOFF(NThreadBase,iHeldFastMutex));
__ASM_STI();
- asm("b DoSignalL__10NFastMutex ");
+ asm("b DoSignalL__10NFastMutex "); // CSM needed
}
@@ -1137,7 +1137,7 @@
asm("ldr r0, btrace_hdr_fmwait ");
asm("mov r2, #0 ");
asm("mov r3, #0 ");
- asm("b OutX__6BTraceUlUlUlUl ");
+ asm("b " CSM_ZN6BTrace4OutXEmmmm);
#endif
__JUMP(,lr); // mutex acquired without contention
@@ -1149,9 +1149,9 @@
__ASM_STI();
__DATA_MEMORY_BARRIER_Z__(r12);
asm("stmfd sp!, {r4,lr} ");
- asm("bl DoWaitL__10NFastMutex ");
+ asm("bl DoWaitL__10NFastMutex "); // CSM needed
asm("ldmfd sp!, {r4,lr} ");
- asm("b Unlock__5NKern ");
+ asm("b " CSM_ZN5NKern6UnlockEv);
asm("__SystemLock: ");
asm(".word %a0" : : "i" ((TInt)&TheScheduler.iLock));
@@ -1195,7 +1195,7 @@
asm("ldr r0, btrace_hdr_fmsignal ");
asm("mov r2, #0 ");
asm("mov r3, #0 ");
- asm("bl OutX__6BTraceUlUlUlUl ");
+ asm("bl " CSM_ZN6BTrace4OutXEmmmm);
asm("ldmfd sp!, {r0,lr} ");
#endif
__ASM_CLI();
@@ -1223,9 +1223,9 @@
asm("str r12, [r3, #%a0]" : : "i" _FOFF(TSubScheduler,iKernLockCount));
asm("str r4, [r1, #%a0]" : : "i" _FOFF(NThreadBase,iHeldFastMutex));
__ASM_STI();
- asm("bl DoSignalL__10NFastMutex ");
+ asm("bl DoSignalL__10NFastMutex "); // CSM needed
asm("ldmfd sp!, {r4,lr} ");
- asm("b Unlock__5NKern ");
+ asm("b " CSM_ZN5NKern6UnlockEv);
}
@@ -1298,7 +1298,7 @@
asm("stmfd sp!, {r4,lr} ");
asm("mov r2, #0 ");
asm("mov r3, #0 ");
- asm("bl OutX__6BTraceUlUlUlUl ");
+ asm("bl " CSM_ZN6BTrace4OutXEmmmm);
asm("ldmfd sp!, {r4,lr} ");
#endif
asm("mov r0, #0 ");
@@ -1315,11 +1315,11 @@
__ASM_STI();
asm("stmfd sp!, {r4,lr} ");
asm("mov r4, r0 ");
- asm("bl Signal__10NFastMutex ");
- asm("bl PreemptionPoint__5NKern ");
+ asm("bl " CSM_ZN10NFastMutex6SignalEv);
+ asm("bl " CSM_ZN5NKern15PreemptionPointEv);
asm("mov r0, r4 ");
- asm("bl Wait__10NFastMutex ");
- asm("bl Unlock__5NKern ");
+ asm("bl " CSM_ZN10NFastMutex4WaitEv);
+ asm("bl " CSM_ZN5NKern6UnlockEv);
asm("ldmfd sp!, {r4,lr} ");
asm("mov r0, #1 ");
__JUMP(,lr); // return TRUE
--- a/kernel/eka/nkernsmp/arm/ncutils.cia Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/nkernsmp/arm/ncutils.cia Thu Jul 22 16:46:39 2010 +0100
@@ -592,7 +592,7 @@
asm("btrace_check_filter2: ");
asm("stmfd sp!, {r0,r1,r3,r4,r12,lr} ");
asm("mov r0, r12 ");
- asm("bl CheckFilter2__11SBTraceDataUl ");
+ asm("bl CheckFilter2__11SBTraceDataUl "); // CSM needed
asm("cmp r0, #0 ");
asm("beq 0f ");
asm("mrs r14, cpsr ");
--- a/kernel/eka/nkernsmp/arm/vectors.cia Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/nkernsmp/arm/vectors.cia Thu Jul 22 16:46:39 2010 +0100
@@ -157,7 +157,7 @@
#ifndef __FAST_SEM_MACHINE_CODED__
asm("wait_for_any_request: ");
__ASM_STI(); // all interrupts on
- asm("b WaitForAnyRequest__5NKern ");
+ asm("b WaitForAnyRequest__5NKern "); // CSM needed
#else
asm(".global exec_wfar_wait ");
asm("exec_wfar_wait: ");
@@ -1005,7 +1005,7 @@
// CsFunction outstanding so do it
asm("5: ");
__ASM_STI(); // enable interrupts
- asm("bl ThreadLeaveCS__5NKern ");
+ asm("bl " CSM_ZN5NKern13ThreadLeaveCSEv);
__ASM_CLI(); // turn off interrupts
__DATA_MEMORY_BARRIER__(r6);
asm("ldr r1, [r8] ");
--- a/kernel/eka/personality/example/personality.h Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/personality/example/personality.h Thu Jul 22 16:46:39 2010 +0100
@@ -41,6 +41,8 @@
typedef unsigned int size_t;
#elif defined(__ARMCC__)
typedef unsigned int size_t;
+#elif defined(__GCCE__)
+typedef unsigned int size_t;
#endif
#ifdef __cplusplus
--- a/kernel/eka/rombuild/rom.flm Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/rombuild/rom.flm Thu Jul 22 16:46:39 2010 +0100
@@ -2,19 +2,19 @@
# Copyright (c) 2009 Symbian. All rights reserved.
#
+ifeq ($(OSTYPE),unix)
+ rombuilder := $(EPOCROOT)/epoc32/rom/tools/romnibus.pl
+else
+ rombuilder := $(EPOCROOT)/sf/os/kernelhwsrv/kernel/eka/rombuild/rom_sbs.pl
+endif
+
# macro for all the rules
define rom
FINAL::
-ifeq ($(OSTYPE),unix)
$(call startrule,rom) \
- echo "This is not supported currently"; \
+ $(PERL) $(rombuilder) --variant=$(REE_TARGET) --inst=$(PLATFORM) --build=$(CFG) --type=$(TYPE) --clean --name=$(REE_TARGET)_$(TYPE)_$(PLATFORM)_$(CFG).img \
$(call endrule,rom)
-else
- $(call startrule,rom) \
- $(PERL) $(EPOCROOT)/sf/os/kernelhwsrv/kernel/eka/rombuild/rom_sbs.pl --variant=$(REE_TARGET) --inst=$(PLATFORM) --build=$(CFG) --type=$(TYPE) --clean --name=$(REE_TARGET)_$(TYPE)_$(PLATFORM)_$(CFG).img \
- $(call endrule,rom)
-endif
FINAL::
$(call startrule,copy) \
--- a/kernel/eka/rombuild/rom.pl Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/rombuild/rom.pl Thu Jul 22 16:46:39 2010 +0100
@@ -311,6 +311,7 @@
# Zap any ## marks REMS or blank lines
+print "Cleaning up rom2.tmp to make rom3.tmp\n" if $debug;
cleanup("rom2.tmp", "rom3.tmp", $k);
# scan tmp file and generate auxiliary files, if required
@@ -324,6 +325,7 @@
genfile("nonpaged"); }
}
+print "Parsing PatchData to make rom4.tmp\n" if $debug;
parsePatchData("rom3.tmp", "rom4.tmp");
# break down the oby file into rom, rofs, extensions and smr oby files
@@ -717,17 +719,28 @@
open TMP, $file or die "Can't read $file\n";
# ignore local symbols.
- while (<TMP> !~ /Global Symbols/) { }
-
while (<TMP>)
{
- if (/^\s*(\S+)\s+(\S+)\s+data\s+(\S+)/i)
+ last if /Global Symbols|Linker script and memory map/;
+ }
+
+ my @return_values = ();
+ my $line;
+ while ($line = <TMP>)
+ {
+ next if (index($line, $name) < 0);
+
+ # RVCT 2.2
+ #
+ # KHeapMinCellSize 0x0004e38c Data 4 mem.o(.constdata)
+ #
+ if ($line =~ /^\s*(\S+)\s+(\S+)\s+data\s+(\S+)/i)
{
my ($symbol, $addr, $size) = ($1, $2, $3);
if ($symbol eq $name)
{
- close TMP;
- return ($addr, $size);
+ @return_values = ($addr, $size);
+ last;
}
}
@@ -736,18 +749,42 @@
#
# KHeapMinCellSize (EXPORTED) 0x0003d81c Data 4 mem.o(.constdata)
#
- elsif (/^\s*(\S+)\s+\(exported\)\s+(\S+)\s+data\s+(\S+)/i)
+ elsif ($line =~ /^\s*(\S+)\s+\(exported\)\s+(\S+)\s+data\s+(\S+)/i)
{
my ($symbol, $addr, $size) = ($1, $2, $3);
if ($symbol eq $name)
{
- close TMP;
- return ($addr, $size);
+ @return_values = ($addr, $size);
+ last;
}
}
- }
+
+ # GCC 4.x map files
+ # 0x00114c68 KHeapMinCellSize
+ # 0x00114c6c KHeapShrinkHysRatio
+ # .rodata 0x00115130 0x968 M:/epoc32/build/kernel/c_99481fddbd6c6f58/_omap3530_ekern_exe/armv5/udeb/heap_hybrid.o
+ #
+ elsif ($line =~ /^.+\s+(0x\S+)\s+(\S+)/i)
+ {
+ my ($addr, $symbol) = ($1, $2);
+ if ($symbol eq $name)
+ {
+ my $next_line = <TMP>;
+ if ($next_line =~ /^.+\s+(0x\S+)\s+(\S+)/i)
+ {
+ my $addr2 = $1;
+
+ @return_values = ($addr, hex($addr2) - hex($addr));
+ last;
+ }
+ }
+ }
- die "patchdata: Can't find symbol $name\n";
+ }
+ close TMP;
+
+ die "patchdata: Can't find symbol $name\n" if (scalar @return_values == 0);
+ return @return_values;
}
sub parsePatchData($$)
@@ -767,6 +804,8 @@
die "Bad patchdata command: $line\n";
}
+ print "Handling $line\n" if $debug;
+
my ($file, $symbol, $value) = (lc $1, $2, $3);
my ($srcFile, $destFile) = lookupFileInfo($infile, $file);
my ($index, $elementSize) = (undef, undef);
@@ -778,6 +817,7 @@
if ($srcFile =~ /\\armv5(smp)?\\/i)
{
+ print "..looking up $symbol in $srcFile.map\n" if $debug;
my ($symbolAddr, $symbolSize) = lookupSymbolInfo("$srcFile.map", $symbol);
my $max;
@@ -819,6 +859,7 @@
$value = sprintf("0x%08x", $value);
$line = "patchdata $destFile addr $symbolAddr $symbolSize $value\n";
+ print ".. new line is $line\n" if $debug;
}
else
{
--- a/kernel/eka/rombuild/user.iby Wed Jul 21 14:14:06 2010 +0100
+++ b/kernel/eka/rombuild/user.iby Thu Jul 22 16:46:39 2010 +0100
@@ -29,7 +29,7 @@
file=\Epoc32\Release\##EUSERDIR##\##BUILD##\##EUSER_DLL \sys\bin\EUSER.DLL
#ifdef RVCT
-#include <rom\include\compsupp.iby>
+#include <rom/include/compsupp.iby>
#endif
#ifndef SYMBIAN_EXCLUDE_KEYBOARD
--- a/kerneltest/e32test/defrag/perf/t_perf.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/defrag/perf/t_perf.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -37,8 +37,8 @@
#include <e32std.h>
#include <e32std_private.h>
-#include "..\d_pagemove.h"
-#include "..\..\mmu\mmudetect.h"
+#include "../d_pagemove.h"
+#include "../../mmu/mmudetect.h"
#include "t_perf.h"
--- a/kerneltest/e32test/defrag/perf/t_perf.h Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/defrag/perf/t_perf.h Thu Jul 22 16:46:39 2010 +0100
@@ -19,7 +19,7 @@
#define _DEFRAG_PERF_T_PERF_H_
#include "t_testdll.h"
-#include "..\d_pagemove.h"
+#include "../d_pagemove.h"
typedef TUint32 DTime_t;
//#define EXTRA_TRACE
--- a/kerneltest/e32test/defrag/perf/t_perfdll.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/defrag/perf/t_perfdll.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -18,7 +18,7 @@
#define __E32TEST_EXTENSION__
#include <e32test.h>
#include <e32hal.h>
-#include "..\d_pagemove.h"
+#include "../d_pagemove.h"
#include "t_perf.h"
#include "t_testdll.h"
--- a/kerneltest/e32test/defrag/perf/t_testproc.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/defrag/perf/t_testproc.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -18,7 +18,7 @@
#define __E32TEST_EXTENSION__
#include <e32test.h>
-#include "..\d_pagemove.h"
+#include "../d_pagemove.h"
#include "t_perf.h"
#include "t_testdll.h"
--- a/kerneltest/e32test/defrag/t_pagemove.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/defrag/t_pagemove.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -60,9 +60,9 @@
#include "d_pagemove.h"
#include "t_pagemove_dll.h"
#include "t_pmwsd.h"
-#include "..\mmu\mmudetect.h"
-#include "..\debug\d_codemodifier.h"
-#include "..\mmu\d_memorytest.h"
+#include "../mmu/mmudetect.h"
+#include "../debug/d_codemodifier.h"
+#include "../mmu/d_memorytest.h"
//#define _DEBUG_MSG
#ifdef _DEBUG_MSG
--- a/kerneltest/e32test/demandpaging/t_printsysinfo.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/demandpaging/t_printsysinfo.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -20,7 +20,7 @@
#include <e32test.h>
#include <e32cmn.h>
#include <dptest.h>
-#include "..\mmu\mmudetect.h"
+#include "../mmu/mmudetect.h"
RTest test(_L("T_PRINTSYSINFO"));
--- a/kerneltest/e32test/digitiser/d_ldddigitisertest.h Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/digitiser/d_ldddigitisertest.h Thu Jul 22 16:46:39 2010 +0100
@@ -111,5 +111,5 @@
inline TInt setPointer3DPressureStep(TUint aPointer3DPressureStep);
};
-#include "d_lddDigitisertest.inl"
+#include "d_ldddigitisertest.inl"
#endif //__DLDDDIGITISERTEST_H__
--- a/kerneltest/e32test/digitiser/t_ldddigitisertest.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/digitiser/t_ldddigitisertest.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -17,7 +17,7 @@
#include <e32test.h>
#include <e32hal.h>
-#include "d_lddDigitisertest.h"
+#include "d_ldddigitisertest.h"
#include <hal.h>
_LIT(KLddFileName, "D_LDDDIGITISERTEST.LDD");
--- a/kerneltest/e32test/examples/defrag/t_defrag_ref.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/examples/defrag/t_defrag_ref.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -33,7 +33,7 @@
#define __E32TEST_EXTENSION__
#include <e32test.h>
#include "d_defrag_ref.h"
-#include "..\..\mmu\mmudetect.h"
+#include "../../mmu/mmudetect.h"
LOCAL_D RTest test(_L("T_DEFRAG_REF"));
--- a/kerneltest/e32test/group/bld.inf Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/group/bld.inf Thu Jul 22 16:46:39 2010 +0100
@@ -1066,6 +1066,8 @@
#include "../hcr/hcr.inf"
+#ifndef GCCE
//pci tests
t_pci
+#endif
--- a/kerneltest/e32test/group/d_ldd.mmp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/group/d_ldd.mmp Thu Jul 22 16:46:39 2010 +0100
@@ -29,5 +29,10 @@
UID 0x100000af
VENDORID 0x70000001
+#ifdef GCCE
+staticlibrary usrt4_0.lib
+library drtaeabi.dso
+#endif
+
capability all
SMPSAFE
--- a/kerneltest/e32test/group/d_ldd2.mmp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/group/d_ldd2.mmp Thu Jul 22 16:46:39 2010 +0100
@@ -26,5 +26,10 @@
EPOCALLOWDLLDATA
+#ifdef GCCE
+staticlibrary usrt4_0.lib
+library drtaeabi.dso
+#endif
+
capability all
SMPSAFE
--- a/kerneltest/e32test/group/d_ldd2_ram.mmp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/group/d_ldd2_ram.mmp Thu Jul 22 16:46:39 2010 +0100
@@ -29,5 +29,10 @@
romtarget
ramtarget +
+#ifdef GCCE
+staticlibrary usrt4_0.lib
+library drtaeabi.dso
+#endif
+
capability all
SMPSAFE
--- a/kerneltest/e32test/group/d_ldd_ram.mmp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/group/d_ldd_ram.mmp Thu Jul 22 16:46:39 2010 +0100
@@ -31,5 +31,10 @@
romtarget
RAMTARGET +
+#ifdef GCCE
+staticlibrary usrt4_0.lib
+library drtaeabi.dso
+#endif
+
capability all
SMPSAFE
--- a/kerneltest/e32test/group/d_lddns.mmp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/group/d_lddns.mmp Thu Jul 22 16:46:39 2010 +0100
@@ -30,5 +30,10 @@
VENDORID 0x70000001
RAMTARGET D_LDDNS_ram.LDD
+#ifdef GCCE
+staticlibrary usrt4_0.lib
+library drtaeabi.dso
+#endif
+
capability all
SMPSAFE
--- a/kerneltest/e32test/group/d_nanowait.mmp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/group/d_nanowait.mmp Thu Jul 22 16:46:39 2010 +0100
@@ -24,7 +24,7 @@
SOURCEPATH ../SYSTEM
SOURCE D_NANOWAIT.CPP
-LIBRARY EKERN.LIB
+LIBRARY ekern.lib
epocallowdlldata
--- a/kerneltest/e32test/group/d_timestamp.mmp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/group/d_timestamp.mmp Thu Jul 22 16:46:39 2010 +0100
@@ -17,7 +17,7 @@
-#include "kernel\kern_ext.mmh"
+#include "kernel/kern_ext.mmh"
TARGET D_TIMESTAMP.LDD
TARGETTYPE LDD
@@ -25,7 +25,7 @@
SOURCEPATH ../timestamp
SOURCE D_TIMESTAMP.CPP
-LIBRARY EKERN.LIB
+LIBRARY ekern.lib
epocallowdlldata
--- a/kerneltest/e32test/group/rescontrol_extended_psl.mmp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/group/rescontrol_extended_psl.mmp Thu Jul 22 16:46:39 2010 +0100
@@ -46,6 +46,11 @@
uid 0x100039d0 0x10285812
capability all
+#ifdef GCCE
+staticlibrary usrt4_0.lib
+library drtaeabi.dso
+#endif
+
start wins
win32_headers
end
--- a/kerneltest/e32test/group/rescontrol_psl.mmp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/group/rescontrol_psl.mmp Thu Jul 22 16:46:39 2010 +0100
@@ -43,9 +43,14 @@
uid 0x100039d0 0x10285812
capability all
+#ifdef GCCE
+staticlibrary usrt4_0.lib
+library drtaeabi.dso
+#endif
+
start wins
win32_headers
end
macro CPU_AFFINITY_ANY
-SMPSAFE
\ No newline at end of file
+SMPSAFE
--- a/kerneltest/e32test/group/t_break.mmp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/group/t_break.mmp Thu Jul 22 16:46:39 2010 +0100
@@ -19,7 +19,7 @@
TARGETTYPE EXE
SOURCEPATH ../SYSTEM
SOURCE T_BREAK.CPP
-LIBRARY EUSER.LIB
+LIBRARY euser.lib
OS_LAYER_SYSTEMINCLUDE_SYMBIAN
RAMTARGET +
--- a/kerneltest/e32test/group/t_dce.mmp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/group/t_dce.mmp Thu Jul 22 16:46:39 2010 +0100
@@ -19,7 +19,7 @@
TARGETTYPE EXE
SOURCEPATH ../DEVICE
SOURCE T_DCE.CPP
-LIBRARY EUSER.LIB
+LIBRARY euser.lib
OS_LAYER_SYSTEMINCLUDE_SYMBIAN
--- a/kerneltest/e32test/group/t_dceutl.mmp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/group/t_dceutl.mmp Thu Jul 22 16:46:39 2010 +0100
@@ -19,7 +19,7 @@
TARGETTYPE EXE
SOURCEPATH ../DEVICE
SOURCE T_DCEUTL.CPP
-LIBRARY EUSER.LIB HAL.LIB
+LIBRARY euser.lib hal.lib
OS_LAYER_SYSTEMINCLUDE_SYMBIAN
--- a/kerneltest/e32test/group/t_defragperf.mmp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/group/t_defragperf.mmp Thu Jul 22 16:46:39 2010 +0100
@@ -20,7 +20,7 @@
ALWAYS_BUILD_AS_ARM
SOURCEPATH ../DEFRAG/PERF
SOURCE T_PERF.CPP T_PERFDLL.CPP T_TIMER.CPP
-LIBRARY EUSER.LIB HAL.LIB
+LIBRARY euser.lib hal.lib
OS_LAYER_SYSTEMINCLUDE_SYMBIAN
ROMTARGET
RAMTARGET +
--- a/kerneltest/e32test/group/t_defragtestperf.mmp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/group/t_defragtestperf.mmp Thu Jul 22 16:46:39 2010 +0100
@@ -19,7 +19,7 @@
TARGETTYPE EXE
SOURCEPATH ../DEFRAG/PERF
SOURCE t_testproc.cpp T_PERFDLL.CPP t_timer.cpp
-LIBRARY EUSER.LIB HAL.LIB
+LIBRARY euser.lib hal.lib
OS_LAYER_SYSTEMINCLUDE_SYMBIAN
ROMTARGET
--- a/kerneltest/e32test/group/t_drtaeabi.mmp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/group/t_drtaeabi.mmp Thu Jul 22 16:46:39 2010 +0100
@@ -21,6 +21,8 @@
SOURCE aeabidiv0.cpp
SOURCE drtaeabi.cpp
+OS_LAYER_LIBC_SYSTEMINCLUDE
+OS_LAYER_STDCPP_SYSTEMINCLUDE
SOURCE type_info.cpp
USERINCLUDE ../../../kernel/eka/include
--- a/kerneltest/e32test/group/t_lfsdrvbm.mmp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/group/t_lfsdrvbm.mmp Thu Jul 22 16:46:39 2010 +0100
@@ -19,7 +19,7 @@
TARGETTYPE EXE
SOURCEPATH ../LFFS
SOURCE T_LFSDRVBM.CPP
-LIBRARY EUSER.LIB
+LIBRARY euser.lib
OS_LAYER_SYSTEMINCLUDE_SYMBIAN
--- a/kerneltest/e32test/group/t_modem1.mmp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/group/t_modem1.mmp Thu Jul 22 16:46:39 2010 +0100
@@ -19,7 +19,7 @@
TARGETTYPE EXE
SOURCEPATH ../DEVICE
SOURCE T_MODEM1.CPP
-LIBRARY EUSER.LIB HAL.LIB
+LIBRARY euser.lib hal.lib
OS_LAYER_SYSTEMINCLUDE_SYMBIAN
--- a/kerneltest/e32test/group/t_modem2.mmp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/group/t_modem2.mmp Thu Jul 22 16:46:39 2010 +0100
@@ -19,7 +19,7 @@
TARGETTYPE EXE
SOURCEPATH ../DEVICE
SOURCE T_MODEM2.CPP
-LIBRARY EUSER.LIB
+LIBRARY euser.lib
OS_LAYER_SYSTEMINCLUDE_SYMBIAN
--- a/kerneltest/e32test/group/t_nanowait.mmp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/group/t_nanowait.mmp Thu Jul 22 16:46:39 2010 +0100
@@ -19,7 +19,7 @@
TARGETTYPE EXE
SOURCEPATH ../SYSTEM
SOURCE T_NANOWAIT.CPP
-LIBRARY EUSER.LIB HAL.LIB
+LIBRARY euser.lib hal.lib
OS_LAYER_SYSTEMINCLUDE_SYMBIAN
--- a/kerneltest/e32test/group/t_pagemove.mmp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/group/t_pagemove.mmp Thu Jul 22 16:46:39 2010 +0100
@@ -20,7 +20,7 @@
SOURCEPATH ../DEFRAG
SOURCE T_PAGEMOVE.CPP
SOURCE T_PAGEMOVE.CIA
-LIBRARY EUSER.LIB dptest.lib T_PMWSD.LIB T_PAGEMOVE_DLL.LIB
+LIBRARY euser.lib dptest.lib t_pmwsd.lib t_pagemove_dll.lib
OS_LAYER_SYSTEMINCLUDE_SYMBIAN
// This process shouldn't be paged
--- a/kerneltest/e32test/group/t_pccd1.mmp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/group/t_pccd1.mmp Thu Jul 22 16:46:39 2010 +0100
@@ -19,7 +19,7 @@
TARGETTYPE EXE
SOURCEPATH ../PCCD
SOURCE T_PCCD1.CPP
-LIBRARY EUSER.LIB
+LIBRARY euser.lib
OS_LAYER_SYSTEMINCLUDE_SYMBIAN
--- a/kerneltest/e32test/group/t_pccd2.mmp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/group/t_pccd2.mmp Thu Jul 22 16:46:39 2010 +0100
@@ -19,7 +19,7 @@
TARGETTYPE EXE
SOURCEPATH ../PCCD
SOURCE T_PCCD2.CPP
-LIBRARY EUSER.LIB
+LIBRARY euser.lib
OS_LAYER_SYSTEMINCLUDE_SYMBIAN
--- a/kerneltest/e32test/group/t_pccd3.mmp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/group/t_pccd3.mmp Thu Jul 22 16:46:39 2010 +0100
@@ -19,7 +19,7 @@
TARGETTYPE EXE
SOURCEPATH ../PCCD
SOURCE T_PCCD3.CPP
-LIBRARY EUSER.LIB HAL.LIB
+LIBRARY euser.lib hal.lib
OS_LAYER_SYSTEMINCLUDE_SYMBIAN
--- a/kerneltest/e32test/group/t_persistrestart.mmp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/group/t_persistrestart.mmp Thu Jul 22 16:46:39 2010 +0100
@@ -19,7 +19,7 @@
TARGETTYPE EXE
SOURCEPATH ../POWER
SOURCE T_PERSISTRESTART.CPP
-LIBRARY EUSER.LIB HAL.LIB
+LIBRARY euser.lib hal.lib
OS_LAYER_SYSTEMINCLUDE_SYMBIAN
USERINCLUDE ../power
--- a/kerneltest/e32test/group/t_prom.mmp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/group/t_prom.mmp Thu Jul 22 16:46:39 2010 +0100
@@ -19,7 +19,7 @@
TARGETTYPE EXE
SOURCEPATH ../DEVICE
SOURCE T_PROM.CPP
-LIBRARY EUSER.LIB
+LIBRARY euser.lib
OS_LAYER_SYSTEMINCLUDE_SYMBIAN
--- a/kerneltest/e32test/group/t_r64.mmp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/group/t_r64.mmp Thu Jul 22 16:46:39 2010 +0100
@@ -21,7 +21,7 @@
SOURCE T_R64.CPP
SOURCE T_R64DTA.CPP
SOURCE T_GCC64.CPP
-LIBRARY EUSER.LIB
+LIBRARY euser.lib
OS_LAYER_SYSTEMINCLUDE_SYMBIAN
--- a/kerneltest/e32test/group/t_regram.mmp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/group/t_regram.mmp Thu Jul 22 16:46:39 2010 +0100
@@ -19,7 +19,7 @@
TARGETTYPE EXE
SOURCEPATH ../SYSTEM
SOURCE T_REGRAM.CPP
-LIBRARY EUSER.LIB
+LIBRARY euser.lib
OS_LAYER_SYSTEMINCLUDE_SYMBIAN
--- a/kerneltest/e32test/group/t_romchk.mmp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/group/t_romchk.mmp Thu Jul 22 16:46:39 2010 +0100
@@ -19,7 +19,7 @@
TARGETTYPE EXE
SOURCEPATH ../MISC
SOURCE T_ROMCHK.CPP
-LIBRARY EUSER.LIB
+LIBRARY euser.lib
OS_LAYER_SYSTEMINCLUDE_SYMBIAN
capability all
--- a/kerneltest/e32test/group/t_usb_device.mmp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/group/t_usb_device.mmp Thu Jul 22 16:46:39 2010 +0100
@@ -22,7 +22,7 @@
OS_LAYER_SYSTEMINCLUDE_SYMBIAN
-USERINCLUDE ../USB/T_USB_DEVICE/INCLUDE
+USERINCLUDE ../usb/t_usb_device/include
// Source file paths
@@ -40,8 +40,8 @@
SOURCE usbms.cpp
-LIBRARY EUSER.LIB HAL.LIB
-LIBRARY EFSRV.LIB
+LIBRARY euser.lib hal.lib
+LIBRARY efsrv.lib
CAPABILITY ALL
--- a/kerneltest/e32test/group/t_usb_scdevice.mmp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/group/t_usb_scdevice.mmp Thu Jul 22 16:46:39 2010 +0100
@@ -42,9 +42,9 @@
SOURCE usbms.cpp
-LIBRARY EUSER.LIB HAL.LIB
+LIBRARY euser.lib hal.lib
LIBRARY usbcsc_bil.lib
-LIBRARY EFSRV.LIB
+LIBRARY efsrv.lib
CAPABILITY ALL
--- a/kerneltest/e32test/group/t_usbcsc.mmp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/group/t_usbcsc.mmp Thu Jul 22 16:46:39 2010 +0100
@@ -22,7 +22,7 @@
SOURCE t_usbcsc.cpp
OS_LAYER_SYSTEMINCLUDE_SYMBIAN
-LIBRARY EUSER.LIB HAL.LIB usbcsc_bil.lib
+LIBRARY euser.lib hal.lib usbcsc_bil.lib
CAPABILITY all
--- a/kerneltest/e32test/group/thrdlist.mmp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/group/thrdlist.mmp Thu Jul 22 16:46:39 2010 +0100
@@ -19,7 +19,7 @@
TARGETTYPE EXE
SOURCEPATH ../MISC
SOURCE THRDLIST.CPP
-LIBRARY EUSER.LIB EFSRV.LIB
+LIBRARY euser.lib efsrv.lib
OS_LAYER_SYSTEMINCLUDE_SYMBIAN
--- a/kerneltest/e32test/hcr/d_hcrsim_client.mmp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/hcr/d_hcrsim_client.mmp Thu Jul 22 16:46:39 2010 +0100
@@ -33,6 +33,11 @@
epocallowdlldata
smpsafe
+#ifdef GCCE
+staticlibrary usrt4_0.lib
+library drtaeabi.dso
+#endif
+
start wins
win32_headers
end
--- a/kerneltest/e32test/hcr/d_hcrsim_own.mmp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/hcr/d_hcrsim_own.mmp Thu Jul 22 16:46:39 2010 +0100
@@ -32,6 +32,11 @@
epocallowdlldata
smpsafe
+#ifdef GCCE
+staticlibrary usrt4_0.lib
+library drtaeabi.dso
+#endif
+
start wins
win32_headers
end
--- a/kerneltest/e32test/hcr/d_hcrut.mmp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/hcr/d_hcrut.mmp Thu Jul 22 16:46:39 2010 +0100
@@ -38,6 +38,11 @@
epocallowdlldata
smpsafe
+#ifdef GCCE
+staticlibrary usrt4_0.lib
+library drtaeabi.dso
+#endif
+
start wins
win32_headers
end
--- a/kerneltest/e32test/lffs/t_lfsdrv2.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/lffs/t_lfsdrv2.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -22,7 +22,7 @@
#include <e32uid.h>
#include <hal.h>
#include "u32std.h"
-#include "..\misc\prbs.h"
+#include "../misc/prbs.h"
_LIT(KTestName,"T_LFSDRV");
_LIT(KMediaDriverName,"MEDLFS");
--- a/kerneltest/e32test/lffs/t_lfsdrvbm.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/lffs/t_lfsdrvbm.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -19,7 +19,7 @@
#include <e32svr.h>
#include <e32hal.h>
#include <e32uid.h>
-#include "..\misc\prbs.h"
+#include "../misc/prbs.h"
LOCAL_D TBuf<16384> DataBuf;
--- a/kerneltest/e32test/misc/d_testkerncorestats.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/misc/d_testkerncorestats.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -15,7 +15,7 @@
//
//
-#include "d_TestKernCoreStats.h"
+#include "d_testkerncorestats.h"
#include <kernel/kernel.h>
#include <kernel/kerncorestats.h>
--- a/kerneltest/e32test/mmu/t_alias_remove.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/mmu/t_alias_remove.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -30,7 +30,7 @@
#include <e32test.h>
#include <e32hal.h>
#include <e32svr.h>
-#include "..\defrag\d_pagemove.h"
+#include "../defrag/d_pagemove.h"
const TPtrC KAliasProcessName = _L("T_ALIAS_REMOVE");
const TPtrC KAliasChunkName = _L("AliasChunk");
--- a/kerneltest/e32test/mmu/t_mmustress.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/mmu/t_mmustress.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -29,7 +29,7 @@
#include <e32def.h>
#include <e32def_private.h>
#include "d_memorytest.h"
-#include "..\defrag\d_pagemove.h"
+#include "../defrag/d_pagemove.h"
TBool TRACE = 0;
--- a/kerneltest/e32test/mmu/t_shadow.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/mmu/t_shadow.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -40,7 +40,7 @@
#include <e32hal.h>
#include "d_shadow.h"
#include "d_gobble.h"
-#include "..\defrag\d_pagemove.h"
+#include "../defrag/d_pagemove.h"
#include "d_memorytest.h"
#include <dptest.h>
#include "mmudetect.h"
--- a/kerneltest/e32test/pipe/t_pipe.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/pipe/t_pipe.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -58,7 +58,7 @@
#include <e32math.h>
#include <hal.h>
-#include "RPipe.h"
+#include "rpipe.h"
LOCAL_D RTest test(_L("t_pipe"));
--- a/kerneltest/e32test/rm_debug/group/t_rmdebug2.mmp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/rm_debug/group/t_rmdebug2.mmp Thu Jul 22 16:46:39 2010 +0100
@@ -18,6 +18,8 @@
target t_rmdebug2.exe
+USERINCLUDE ../../../../kernel/eka/debug/securityServer/inc
+
sourcepath ../basic_tests
source t_rmdebug2.cpp
source r_low_memory_security_svr_session.cpp
--- a/kerneltest/e32test/rm_debug/group/t_rmdebug2_oem.mmp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/rm_debug/group/t_rmdebug2_oem.mmp Thu Jul 22 16:46:39 2010 +0100
@@ -20,6 +20,8 @@
target t_rmdebug2_oem.exe
+USERINCLUDE ../../../../kernel/eka/debug/securityServer/inc
+
sourcepath ../basic_tests
source t_rmdebug2.cpp
source r_low_memory_security_svr_session.cpp
--- a/kerneltest/e32test/rm_debug/group/t_rmdebug2_oem2.mmp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/rm_debug/group/t_rmdebug2_oem2.mmp Thu Jul 22 16:46:39 2010 +0100
@@ -20,6 +20,8 @@
target t_rmdebug2_oem2.exe
+USERINCLUDE ../../../../kernel/eka/debug/securityServer/inc
+
sourcepath ../basic_tests
source t_rmdebug2.cpp
source r_low_memory_security_svr_session.cpp
--- a/kerneltest/e32test/usb/t_usb_device/src/activedevicestatenotifier.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/usb/t_usb_device/src/activedevicestatenotifier.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -20,7 +20,7 @@
#include "general.h"
#include "activerw.h" // CActiveRW
#include "config.h"
-#include "activeControl.h"
+#include "activecontrol.h"
#include "activedevicestatenotifier.h"
extern CActiveControl* gActiveControl;
--- a/kerneltest/e32test/usb/t_usb_device/src/main.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/e32test/usb/t_usb_device/src/main.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -20,7 +20,7 @@
#include "general.h"
#include "config.h"
#include "activecontrol.h"
-#include "activeRW.h"
+#include "activerw.h"
// --- Global Top Level Variables
--- a/kerneltest/f32test/bench/t_fsrdirload.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/f32test/bench/t_fsrdirload.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -18,7 +18,7 @@
#include <f32file.h>
#include <e32test.h>
#include "t_select.h"
-#include "..\server\t_server.h"
+#include "../server/t_server.h"
#include "t_benchmain.h"
--- a/kerneltest/f32test/bench/t_fsrdirscan.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/f32test/bench/t_fsrdirscan.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -18,7 +18,7 @@
#include <f32file.h>
#include <e32test.h>
#include "t_select.h"
-#include "..\server\t_server.h"
+#include "../server/t_server.h"
#include "t_benchmain.h"
GLDEF_D RTest test(_L("File Server Benchmarks, DirScan"));
--- a/kerneltest/f32test/bench/t_fsropen.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/f32test/bench/t_fsropen.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -18,7 +18,7 @@
#include <f32file.h>
#include <e32test.h>
#include "t_select.h"
-#include "..\server\t_server.h"
+#include "../server/t_server.h"
#include "t_benchmain.h"
GLDEF_D RTest test(_L("File Server Benchmarks, Open File"));
--- a/kerneltest/f32test/demandpaging/loader/t_pageldrtstdll.cia Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/f32test/demandpaging/loader/t_pageldrtstdll.cia Thu Jul 22 16:46:39 2010 +0100
@@ -32,7 +32,7 @@
//#if defined(_DEBUG) || defined(_DEBUG_RELEASE)
-#if defined __ARMCC__ || defined __X86__
+#if defined __EABI__ || defined __X86__
#ifdef __X86__
@@ -68,7 +68,7 @@
#define __NAKED__
#endif
-#if defined __ARMCC__
+#if defined __EABI__
#define ASM_OP1 asm("movs r2,r0");
#define ASM_OP2 asm("adds r0,r2,r1");
#define ASM_OP3 asm("bx lr");
@@ -1633,12 +1633,17 @@
__NAKED__ TInt TestAlignmentxXXx(TInt aParam1)
{
-#ifdef __X86__
+#if defined(__X86__)
return 0;
-#else
+#elif defined(__ARMCC__)
space 4096
BX lr
ENDP
+#elif defined(__GCCE__)
+ asm(".fill 4096");
+ asm("bx lr");
+#else
+#error What compiler?
#endif
}
@@ -1934,7 +1939,7 @@
}
-#endif // __ARMCC__
+#endif // __EABI__
TInt CallTestFunc(TInt aParam1, TInt aParam2, TInt aIndex)
{
--- a/kerneltest/f32test/demandpaging/t_mmcpaging.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/f32test/demandpaging/t_mmcpaging.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -350,7 +350,7 @@
{
TInt r=UserSvr::HalFunction(EHalGroupVM,EVMHalFlushCache,0,0);
if (Random() & 1)
- User::AfterHighRes(500+Random() & 2047);
+ User::AfterHighRes((500+Random()) & 2047);
if (r<0)
{
@@ -376,7 +376,7 @@
}
PagedTrashCount++;
if (RandomNo & 1)
- User::AfterHighRes(500+Random() & 2047);
+ User::AfterHighRes((500+Random()) & 2047);
}
}
--- a/kerneltest/f32test/demandpaging/t_nandpaging.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/f32test/demandpaging/t_nandpaging.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -356,7 +356,7 @@
{
TInt r=UserSvr::HalFunction(EHalGroupVM,EVMHalFlushCache,0,0);
if (Random() & 1)
- User::AfterHighRes(500+Random() & 2047);
+ User::AfterHighRes((500+Random()) & 2047);
if (r<0)
{
@@ -382,7 +382,7 @@
}
PagedTrashCount++;
if (RandomNo & 1)
- User::AfterHighRes(500+Random() & 2047);
+ User::AfterHighRes((500+Random()) & 2047);
}
}
@@ -670,7 +670,7 @@
TInt tries = 10;
do { // If we get zero hits, maybe the page hasnt hit yet.
tries--;
- User::AfterHighRes(1000+Random() & 2047); // Throw some uncertainly into things
+ User::AfterHighRes((1000+Random()) & 2047); // Throw some uncertainly into things
TPtr8 statsBuf((TUint8*) &stats, sizeof(stats));
r = Drive.ControlIO(KNandGetDeferStats,statsBuf,0);
--- a/kerneltest/f32test/demandpaging/t_pagestress.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/f32test/demandpaging/t_pagestress.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -974,7 +974,7 @@
TestPrioChange = EFalse;
TestMediaAccess = EFalse;
-#if defined __ARMCC__ || defined __X86__
+#if defined __EABI__ || defined __X86__
// Currently we only build aligned DLLs on ARMV5 and X86 builds.
TEST_NEXT((_L("Alignment Check.")));
RUNTEST1(CheckAlignments() == KErrNone);
--- a/kerneltest/f32test/filesystem/fat/b_fat32.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/f32test/filesystem/fat/b_fat32.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -305,7 +305,7 @@
//
{
static TBuf<6> str(_L("------"));
- static char* atr = "RHSVDA";
+ static char const * atr = "RHSVDA";
for (TInt i = 0; i < 6; i++)
if ((aAttrib >> i) & 1)
str[i] = atr[i];
--- a/kerneltest/f32test/filesystem/fat/t_scn32dr1.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/f32test/filesystem/fat/t_scn32dr1.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -519,7 +519,7 @@
//
{
LOCAL_D TBuf<6> str;
- LOCAL_D char* atr = "RHSVDA";
+ LOCAL_D char const * atr = "RHSVDA";
str.Fill(TText('-'), 6);
for (TInt i = 0; i < 6; i++)
if ((aAttrib >> i) & 1)
@@ -1987,7 +1987,7 @@
ReadFatDisk(fatBuf);
}
- // use first entry \scndrv\dir2\almostfull\
+ // use first entry \scndrv\dir2\almostfull
test.Next(_L("Partial entry in middle of subdir"));
last = GetStartCluster(gClusterDir2_AFull,7);
TEntryInfo partial2(ClusterEntryToBytes(gClusterDir2_AFull,2),6);
@@ -1998,7 +1998,7 @@
res=TestPartialEntry(partial2);
test(res);
- // reduce size of \scndrv\dir2\full\
+ // reduce size of \scndrv\dir2\full
test.Next(_L("Test directory reclaim"));
last = GetStartCluster(gClusterDir2_Full,gEntriesPerCluster-2);
WriteEndOfDir(ClusterEntryToBytes(gClusterDir2_Full,gEntriesPerCluster-2));
@@ -2018,7 +2018,7 @@
res=IsSameAsDrive(fatBuf,dirBuf);
test(res);
- // use last entry of first cluster in \scndrv\dir2\full\
+ // use last entry of first cluster in \scndrv\dir2\full
test.Next(_L("Partial entry at end of subdir"));
r=temp.Create(TheFs,_L("\\scndrv\\dir2\\full\\temp"),EFileShareAny);
test_KErrNone(r);
@@ -2030,7 +2030,7 @@
res=TestPartialEntry(partial3);
test(res);
- // use entry in \scndrv\dir2\almostfull\
+ // use entry in \scndrv\dir2\almostfull
test.Next(_L("Partial entry preceeding end-of-dir marker"));
last = GetStartCluster(gClusterDir2_AFull,14);
if (last > 0)
@@ -2052,7 +2052,7 @@
// as it is impossible for ScanDrive to judge if the illegal byte is part of a legal
// DBCS charater.
- // create entry in \scndrv\dir2\almostfull\
+ // create entry in \scndrv\dir2\almostfull
// test.Next(_L("Partial entry with invalid dos name"));
// r=temp.Create(TheFs,_L("\\scndrv\\dir2\\almostfull\\Dodgy file name"),EFileShareAny);
// test_KErrNone(r);
@@ -2069,7 +2069,7 @@
if (BootSector.SectorsPerCluster() == 1)
{
- // use entry created in \scndrv\dir2\
+ // use entry created in \scndrv\dir2
test.Next(_L("Partial entry spanning more than two clusters"));
last = GetStartCluster(gClusterDir2_Full,gEntriesPerCluster-1);
WriteEndOfDir(ClusterEntryToBytes(gClusterDir2_Full,gEntriesPerCluster-2));
@@ -2121,7 +2121,7 @@
test(res);
// matching entries between 2 subdirs, one which has a full cluster
- // first entry in \scndrv\dir2\full\ + end of \scndrv\dir2\almostfull\
+ // first entry in \scndrv\dir2\full\ + end of \scndrv\dir2\almostfull
test.Next(_L("matching entries between 2 subdirs"));
TEntryInfo from2(ClusterEntryToBytes(gClusterDir2_Full,2),2);
TEntryInfo to2(ClusterEntryToBytes(gClusterDir2_AFull,14),2);
@@ -2130,7 +2130,7 @@
test(res);
// matching entries between two subdirs - one with end of dir marker next
- // \scndrv\dir2\somedirwith3entries to \scndrv\
+ // \scndrv\dir2\somedirwith3entries to \scndrv
test.Next(_L("matching entries between two subdirs"));
TEntryInfo from3(ClusterEntryToBytes(gClusterDir2,4),3);
TEntryInfo to3(ClusterEntryToBytes(gClusterScnDrv,6),3);
@@ -2139,7 +2139,7 @@
test(res);
// matching entries in same subdir, one in new cluster - irrelevant if matching names
- // 1st and last entries in \scndrv\dir2\full\
+ // 1st and last entries in \scndrv\dir2\full
test.Next(_L("matching entries in same subdir"));
// delete entries to allow contiguous clusters in \scndrv\dir2\full directory
TInt r=TheFs.RmDir(_L("\\scndrv\\dir2\\somedirwith3entries\\"));
@@ -2161,7 +2161,7 @@
res=TestMatchingEntry(to4);
test(res);
- // \scndrv\dir1\very long name to \\scndrv\dir2\full\
+ // \scndrv\dir1\very long name to \\scndrv\dir2\full
test.Next(_L("matching entries in diff dirs + new cluster"));
// delete last entry in directory
r=TheFs.Delete(LastInFull);
--- a/kerneltest/f32test/filesystem/fat/t_tscan32.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/f32test/filesystem/fat/t_tscan32.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -475,7 +475,7 @@
//
{
LOCAL_D TBuf<6> str(_L("------"));
- LOCAL_D char* atr = "RHSVDA";
+ LOCAL_D char const * atr = "RHSVDA";
for (TInt i = 0; i < 6; i++)
if ((aAttrib >> i) & 1)
str[i] = atr[i];
--- a/kerneltest/f32test/group/bld.inf Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/f32test/group/bld.inf Thu Jul 22 16:46:39 2010 +0100
@@ -57,6 +57,7 @@
t_fsysbm support
t_whet support
#ifdef ARMCC
+// ARMCC should become EABI if and when VFP is supported for GCCE builds.
t_whetvfp support
#endif
//T_WARM manual
--- a/kerneltest/f32test/group/t_bigfile.mmp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/f32test/group/t_bigfile.mmp Thu Jul 22 16:46:39 2010 +0100
@@ -23,7 +23,7 @@
SOURCEPATH ../fileutils/src
SOURCE f32_test_utils.cpp
SOURCE t_chlffs.cpp
-LIBRARY EUSER.LIB EFSRV.LIB HAL.LIB
+LIBRARY euser.lib efsrv.lib hal.lib
OS_LAYER_SYSTEMINCLUDE_SYMBIAN
USERINCLUDE ../server
USERINCLUDE ../fileutils/inc
--- a/kerneltest/f32test/group/t_cfileman.mmp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/f32test/group/t_cfileman.mmp Thu Jul 22 16:46:39 2010 +0100
@@ -30,7 +30,7 @@
USERINCLUDE ../server
USERINCLUDE ../fileutils/inc
-LIBRARY EUSER.LIB EFSRV.LIB HAL.LIB
+LIBRARY euser.lib efsrv.lib hal.lib
OS_LAYER_SYSTEMINCLUDE_SYMBIAN
USERINCLUDE ../server
--- a/kerneltest/f32test/group/t_cp_plugin.mmp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/f32test/group/t_cp_plugin.mmp Thu Jul 22 16:46:39 2010 +0100
@@ -29,7 +29,7 @@
SOURCE fat_utils.cpp f32_test_utils.cpp
SOURCE t_chlffs.cpp
-LIBRARY EUSER.LIB EFSRV.LIB EKTRAN.LIB HAL.LIB
+LIBRARY euser.lib efsrv.lib ektran.lib hal.lib
OS_LAYER_SYSTEMINCLUDE_SYMBIAN
USERINCLUDE ../server
USERINCLUDE ../fileutils/inc
--- a/kerneltest/f32test/group/t_fatcharsetconv.mmp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/f32test/group/t_fatcharsetconv.mmp Thu Jul 22 16:46:39 2010 +0100
@@ -26,7 +26,7 @@
SOURCE fat_utils.cpp f32_test_utils.cpp
SOURCE T_CHLFFS.CPP
-LIBRARY EUSER.LIB EFSRV.LIB EKTRAN.LIB HAL.LIB
+LIBRARY euser.lib efsrv.lib ektran.lib hal.lib
OS_LAYER_SYSTEMINCLUDE_SYMBIAN
USERINCLUDE ../server
USERINCLUDE ../fileutils/inc
--- a/kerneltest/f32test/group/t_file64bit.mmp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/f32test/group/t_file64bit.mmp Thu Jul 22 16:46:39 2010 +0100
@@ -23,10 +23,10 @@
SOURCEPATH ../FILEUTILS/SRC
SOURCE f32_test_utils.cpp
SOURCE t_chlffs.cpp
-LIBRARY EUSER.LIB EFSRV.LIB HAL.LIB
+LIBRARY euser.lib efsrv.lib hal.lib
OS_LAYER_SYSTEMINCLUDE_SYMBIAN
-USERINCLUDE ../SERVER
-USERINCLUDE ../FILEUTILS/INC
+USERINCLUDE ../server
+USERINCLUDE ../fileutils/inc
CAPABILITY All -TCB NetworkControl
--- a/kerneltest/f32test/group/t_filecache.mmp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/f32test/group/t_filecache.mmp Thu Jul 22 16:46:39 2010 +0100
@@ -23,7 +23,7 @@
//SOURCE T_MAIN.CPP
//SOURCE T_CHLFFS.CPP
-LIBRARY EUSER.LIB EFSRV.LIB HAL.LIB
+LIBRARY euser.lib efsrv.lib hal.lib
OS_LAYER_SYSTEMINCLUDE_SYMBIAN
CAPABILITY TCB DISKADMIN ALLFILES
--- a/kerneltest/f32test/group/t_localeutils_cp932.mmp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/f32test/group/t_localeutils_cp932.mmp Thu Jul 22 16:46:39 2010 +0100
@@ -26,7 +26,7 @@
SOURCE fat_utils.cpp f32_test_utils.cpp
SOURCE t_chlffs.cpp
-LIBRARY EUSER.LIB EFSRV.LIB EKTRAN.LIB HAL.LIB
+LIBRARY euser.lib efsrv.lib ektran.lib hal.lib
OS_LAYER_SYSTEMINCLUDE_SYMBIAN
USERINCLUDE ../server
USERINCLUDE ../fileutils/inc
--- a/kerneltest/f32test/group/t_romg.mmp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/f32test/group/t_romg.mmp Thu Jul 22 16:46:39 2010 +0100
@@ -25,7 +25,7 @@
SOURCE f32_test_utils.cpp
SOURCE T_CHLFFS.CPP
-LIBRARY EUSER.LIB EFSRV.LIB HAL.LIB
+LIBRARY euser.lib efsrv.lib hal.lib
OS_LAYER_SYSTEMINCLUDE_SYMBIAN
USERINCLUDE ../server
USERINCLUDE ../fileutils/inc
--- a/kerneltest/f32test/group/t_surrogatepair.mmp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/f32test/group/t_surrogatepair.mmp Thu Jul 22 16:46:39 2010 +0100
@@ -27,7 +27,7 @@
SOURCE fat_utils.cpp f32_test_utils.cpp
SOURCE t_chlffs.cpp
-LIBRARY EUSER.LIB EFSRV.LIB EKTRAN.LIB HAL.LIB
+LIBRARY euser.lib efsrv.lib ektran.lib hal.lib
OS_LAYER_SYSTEMINCLUDE_SYMBIAN
USERINCLUDE ../server
USERINCLUDE ../fileutils/inc
--- a/kerneltest/f32test/locl/localeutils/elocl32_japan/inc/t_tlocl32_charconv.h Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/f32test/locl/localeutils/elocl32_japan/inc/t_tlocl32_charconv.h Thu Jul 22 16:46:39 2010 +0100
@@ -21,11 +21,11 @@
#define __CHARCONV_H__
#if !defined(__E32STD_H__)
-#include <E32STD.H>
+#include <e32std.h>
#endif
#if !defined(__E32BASE_H__)
-#include <E32BASE.H>
+#include <e32base.h>
#endif
/**
--- a/kerneltest/f32test/locl/localeutils/elocl32_japan/inc/t_tlocl32_shiftjis.h Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/f32test/locl/localeutils/elocl32_japan/inc/t_tlocl32_shiftjis.h Thu Jul 22 16:46:39 2010 +0100
@@ -21,15 +21,15 @@
#define __SHIFTJIS_H__
#if !defined(__E32STD_H__)
-#include <E32STD.H>
+#include <e32std.h>
#endif
#if !defined(__CHARCONV_H__)
-#include "T_TLOCL32_CHARCONV.H"
+#include "t_tlocl32_charconv.h"
#endif
#if !defined(__CONVUTILS_H__)
-#include "T_TLOCL32_CONVUTILS.H"
+#include "t_tlocl32_convutils.h"
#endif
class CnvShiftJis
--- a/kerneltest/f32test/locl/t_locChange.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/f32test/locl/t_locChange.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -41,7 +41,7 @@
}
//new version of End, which calls handler before exit..
- IMPORT_C void End()
+ EXPORT_C void End()
{
if (iFailHdnFunc) iFailHdnFunc(*this);
RTest::End();
--- a/kerneltest/f32test/manager/t_romg.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/f32test/manager/t_romg.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -19,7 +19,7 @@
#include <f32file.h>
#include <e32test.h>
#include <e32rom.h>
-#include "..\server\t_server.h"
+#include "../server/t_server.h"
const TInt KBufSize=0x10000;
const TInt KFillerSize=0x100;
--- a/kerneltest/f32test/outsideBMP/src/t_surrogatepair.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/f32test/outsideBMP/src/t_surrogatepair.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -18,10 +18,10 @@
#define __E32TEST_EXTENSION__
#include <e32test.h>
-#include <HAL.H>
+#include <hal.h>
#include <f32fsys.h>
#include <f32dbg.h>
-#include "..\server\t_server.h"
+#include "../server/t_server.h"
RTest test(_L("T_SURROGATEPAIR"));
--- a/kerneltest/f32test/plugins/version_1/virus/t_virus.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/f32test/plugins/version_1/virus/t_virus.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -21,13 +21,13 @@
#include <f32dbg.h>
#include "t_server.h"
-GLREF_C void TestIfEqual( TInt aValue, TInt aExpected, TInt aLine, char aFileName[]);
+GLREF_C void TestIfEqual( TInt aValue, TInt aExpected, TInt aLine, char const * aFileName);
#define TEST_FOR_ERROR( r ) TestIfEqual( r, KErrNone, __LINE__, __FILE__)
#define TEST_FOR_VALUE( r, expected ) TestIfEqual( r, expected, __LINE__, __FILE__)
_LIT( KValueTestFailMsg, "ERROR Got %d expected %d" );
-GLDEF_C void TestIfEqual( TInt aValue, TInt aExpected, TInt aLine, char aFileName[])
+GLDEF_C void TestIfEqual( TInt aValue, TInt aExpected, TInt aLine, char const *aFileName)
{
if( aExpected != aValue )
{
--- a/kerneltest/f32test/plugins/version_2/src/AllSupportedDrives_plugin.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/f32test/plugins/version_2/src/AllSupportedDrives_plugin.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -13,7 +13,7 @@
// Description:
//
-#include "AllSupportedDrives_plugin.h"
+#include "allsupporteddrives_plugin.h"
#include <f32pluginutils.h>
/**
--- a/kerneltest/f32test/plugins/version_2/src/combinational2_plugin.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/f32test/plugins/version_2/src/combinational2_plugin.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -13,7 +13,7 @@
// Description:
//
-#include "Combinational2_plugin.h"
+#include "combinational2_plugin.h"
#include "plugincommon.h"
#include <f32pluginutils.h>
--- a/kerneltest/f32test/plugins/version_2/src/drivec_plugin.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/f32test/plugins/version_2/src/drivec_plugin.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -13,7 +13,7 @@
// Description:
//
-#include "DriveC_plugin.h"
+#include "drivec_plugin.h"
#include <f32pluginutils.h>
#include "plugincommon.h"
--- a/kerneltest/f32test/plugins/version_2/src/drivez_plugin.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/f32test/plugins/version_2/src/drivez_plugin.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -13,7 +13,7 @@
// Description:
//
-#include "DriveZ_plugin.h"
+#include "drivez_plugin.h"
#include <f32pluginutils.h>
#include "plugincommon.h"
--- a/kerneltest/f32test/plugins/version_2beta/t_plugin_v2beta.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/f32test/plugins/version_2beta/t_plugin_v2beta.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -24,7 +24,7 @@
#include "encrypt.h"
#include "hex.h"
-GLREF_C void TestIfEqual( TInt aValue, TInt aExpected, TInt aLine, char aFileName[]);
+GLREF_C void TestIfEqual( TInt aValue, TInt aExpected, TInt aLine, char const * aFileName);
#define TEST_FOR_ERROR( r ) { TInt _r = (r); if (_r < 0) HandleError(_r, __LINE__); }
#define TEST_FOR_VALUE( r, expected ) TestIfEqual( r, expected, __LINE__, __FILE__)
--- a/kerneltest/f32test/server/t_cp_plugintest.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/f32test/server/t_cp_plugintest.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -19,10 +19,10 @@
#define __E32TEST_EXTENSION__
#include <e32test.h>
-#include <HAL.H>
+#include <hal.h>
#include <f32fsys.h>
#include <f32dbg.h>
-#include "..\server\t_server.h"
+#include "../server/t_server.h"
#include "fat_utils.h"
--- a/kerneltest/f32test/server/t_fatcharsetconv_Cases.h Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/f32test/server/t_fatcharsetconv_Cases.h Thu Jul 22 16:46:39 2010 +0100
@@ -19,7 +19,7 @@
#ifndef T_FATCHARSETCONV_CASES_H
#define T_FATCHARSETCONV_CASES_H
-#include "T_Fatcharsetconv_Aux.h"
+#include "t_fatcharsetconv_aux.h"
#if defined(_DEBUG) || defined(_DEBUG_RELEASE)
extern CFileMan* gFileman;
--- a/kerneltest/f32test/server/t_fatcharsetconv_SpecificCases.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/f32test/server/t_fatcharsetconv_SpecificCases.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -16,14 +16,14 @@
*/
#define __E32TEST_EXTENSION__
-#include "T_Fatcharsetconv_aux.h"
+#include "t_fatcharsetconv_aux.h"
#include <f32file.h>
#include <e32test.h>
#include <e32svr.h>
-#include <HAL.H>
+#include <hal.h>
#include <f32fsys.h>
#include <f32dbg.h>
-#include "..\server\t_server.h"
+#include "../server/t_server.h"
//#include "fat_utils.h"
@@ -578,7 +578,8 @@
while(__FILE__[i]!='\0')
{
fileName.SetLength(i+1);
- fileName[i] = __FILE__[i++];
+ fileName[i] = __FILE__[i];
+ ++i;
}
gFileName = fileName;
--- a/kerneltest/f32test/server/t_fatcharsetconv_aux.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/f32test/server/t_fatcharsetconv_aux.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -16,7 +16,7 @@
//
#include <f32dbg.h>
-#include "T_fatcharsetconv_Aux.h"
+#include "t_fatcharsetconv_aux.h"
CFileMan* gFileMan = NULL;
RPointerArray<RFile>* gFileHandles = NULL;
--- a/kerneltest/f32test/server/t_fatcharsetconv_main.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/f32test/server/t_fatcharsetconv_main.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -25,7 +25,7 @@
#include "t_server.h"
#include "t_chlffs.h"
#include "fat_utils.h"
-#include "T_Fatcharsetconv_Cases.h"
+#include "t_fatcharsetconv_Cases.h"
RTest test(_L("T_FatCharSetConv"));
@@ -1341,7 +1341,8 @@
while(__FILE__[i]!='\0')
{
fileName.SetLength(i+1);
- fileName[i] = __FILE__[i++];
+ fileName[i] = __FILE__[i];
+ ++i;
}
gFileName.Append(fileName);
--- a/kerneltest/f32test/server/t_file64bit.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/f32test/server/t_file64bit.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -31,7 +31,7 @@
#include <e32svr.h>
#include "t_server.h"
#include "t_file64bit.h"
-#include "..\\fileshare\\handshare64bit.h"
+#include "../fileshare/handshare64bit.h"
#include <f32pluginutils.h>
#include <massstorage.h>
#include <e32math.h>
--- a/kerneltest/f32test/server/t_fsrv.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/f32test/server/t_fsrv.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -297,7 +297,7 @@
if (anInfo.iType==EMediaNotPresent)
return;
- test_Value(anInfo.iDriveAtt, anInfo.iDriveAtt&(KDriveAttLocal|KDriveAttInternal)==KDriveAttLocal|KDriveAttInternal); // LFFS sets KDriveAttTransaction as well
+ test_Value(anInfo.iDriveAtt, (anInfo.iDriveAtt&(KDriveAttLocal|KDriveAttInternal))==(KDriveAttLocal|KDriveAttInternal)); // LFFS sets KDriveAttTransaction as well
test_Value(anInfo.iType, anInfo.iType==EMediaFlash);
test_Value(anInfo.iMediaAtt, anInfo.iMediaAtt==KMediaAttFormattable);
}
--- a/kerneltest/f32test/server/t_localeutils_cp932.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/f32test/server/t_localeutils_cp932.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -19,11 +19,11 @@
#include <e32test.h>
-#include <HAL.H>
+#include <hal.h>
#include <f32fsys.h>
#include <f32dbg.h>
#include <e32svr.h>
-#include "..\server\t_server.h"
+#include "../server/t_server.h"
#include "fat_utils.h"
RTest test(_L("T_LOCALEUTILS_CP932"));
--- a/kerneltest/f32test/server/t_prel.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/f32test/server/t_prel.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -22,7 +22,7 @@
EXPORT_C void FurtiveD(TFileName &aInfo)
{
- char *dummy="Link unit for Preload test";
+ char const *dummy="Link unit for Preload test";
dummy=dummy;
TFileName name;
Dll::FileName(name);
--- a/kerneltest/f32test/smassstorage/scsiprot/t_ms_main.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/f32test/smassstorage/scsiprot/t_ms_main.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -45,7 +45,7 @@
}
_LIT( KValueTestFailMsg, "ERROR Got %d expected %d" );
-GLDEF_C void TestIfEqual( TInt aValue, TInt aExpected, TInt aLine, char aFileName[])
+GLDEF_C void TestIfEqual( TInt aValue, TInt aExpected, TInt aLine, char const *aFileName)
{
if( aExpected != aValue )
{
--- a/kerneltest/f32test/smassstorage/scsiprot/t_ms_main.h Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/f32test/smassstorage/scsiprot/t_ms_main.h Thu Jul 22 16:46:39 2010 +0100
@@ -34,7 +34,7 @@
GLDEF_C void t_scsi_prot();
-GLDEF_C void TestIfEqual( TInt aValue, TInt aExpected, TInt aLine, char aFileName[]);
+GLDEF_C void TestIfEqual( TInt aValue, TInt aExpected, TInt aLine, char const * aFileName);
#define TEST_FOR_VALUE( r, expected ) TestIfEqual( r, expected, __LINE__, __FILE__)
#define TEST_SENSE_CODE( aSensePtr, aExpKey, aExtAddCode ) \
--- a/kerneltest/f32test/smassstorage/src/t_ms_main.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/kerneltest/f32test/smassstorage/src/t_ms_main.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -38,7 +38,7 @@
_LIT( KValueTestFailMsg, "ERROR Got %d expected %d" );
-GLDEF_C void TestIfEqual( TInt aValue, TInt aExpected, TInt aLine, char aFileName[])
+GLDEF_C void TestIfEqual( TInt aValue, TInt aExpected, TInt aLine, char const * aFileName)
{
if( aExpected != aValue )
{
--- a/package_definition.xml Wed Jul 21 14:14:06 2010 +0100
+++ b/package_definition.xml Thu Jul 22 16:46:39 2010 +0100
@@ -92,6 +92,9 @@
<component id="estart" name="Base Starter" filter="gt" purpose="optional">
<unit bldFile="userlibandfileserver/fileserver/estart" mrp="userlibandfileserver/fileserver/estart/base_f32_estart.mrp"/>
</component>
+ <component id="automounter" name="File Server Automounter" filter="gt" purpose="optional">
+ <unit bldFile="userlibandfileserver/fileserver/automounter" mrp="userlibandfileserver/fileserver/automounter/base_f32_automounter.mrp"/>
+ </component>
<component id="domainmgr" name="Domain Manager" introduced="8.1b" purpose="mandatory">
<unit bldFile="userlibandfileserver/domainmgr/group" mrp="userlibandfileserver/domainmgr/group/base_domain.mrp"/>
</component>
--- a/userlibandfileserver/fileserver/sfat/sl_utl.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/userlibandfileserver/fileserver/sfat/sl_utl.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -203,7 +203,7 @@
chkSum = (TUint8)(((chkSum<<7) | (chkSum>>1)) + ((w0 << 8) >> 24));
chkSum = (TUint8)(((chkSum<<7) | (chkSum>>1)) + ( w0 >> 24));
- chkSum = (TUint8)(((chkSum<<7) | (chkSum>>1)) + (w1) & 0xFF);
+ chkSum = (TUint8)(((chkSum<<7) | (chkSum>>1)) + (w1 & 0xFF));
chkSum = (TUint8)(((chkSum<<7) | (chkSum>>1)) + ((w1 << 16) >> 24));
chkSum = (TUint8)(((chkSum<<7) | (chkSum>>1)) + ((w1 << 8) >> 24));
chkSum = (TUint8)(((chkSum<<7) | (chkSum>>1)) + ( w1 >> 24));
--- a/userlibandfileserver/fileserver/sfat32/sl_utl.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/userlibandfileserver/fileserver/sfat32/sl_utl.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -150,7 +150,7 @@
chkSum = (TUint8)(((chkSum<<7) | (chkSum>>1)) + ((w0 << 8) >> 24));
chkSum = (TUint8)(((chkSum<<7) | (chkSum>>1)) + ( w0 >> 24));
- chkSum = (TUint8)(((chkSum<<7) | (chkSum>>1)) + (w1) & 0xFF);
+ chkSum = (TUint8)(((chkSum<<7) | (chkSum>>1)) + (w1 & 0xFF));
chkSum = (TUint8)(((chkSum<<7) | (chkSum>>1)) + ((w1 << 16) >> 24));
chkSum = (TUint8)(((chkSum<<7) | (chkSum>>1)) + ((w1 << 8) >> 24));
chkSum = (TUint8)(((chkSum<<7) | (chkSum>>1)) + ( w1 >> 24));
--- a/userlibandfileserver/fileserver/sfile/sf_func.h Wed Jul 21 14:14:06 2010 +0100
+++ b/userlibandfileserver/fileserver/sfile/sf_func.h Thu Jul 22 16:46:39 2010 +0100
@@ -918,9 +918,12 @@
public:
static TInt Initialise(CFsRequest* aRequest);
static TInt DoRequestL(CFsRequest* aRequest);
+
+#ifndef __GCCE__ // GCC does not like AddFsToCompositeMountL() being private
#ifndef __GCC32__ // GCC does not like AddFsToCompositeMountL() being private
private:
#endif
+#endif
static void AddFsToCompositeMountL(TInt aDriveNumber, CFileSystem& aFileSystem, TInt aLocalDriveNumber);
};
--- a/userlibandfileserver/fileserver/sfile/sf_thread.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/userlibandfileserver/fileserver/sfile/sf_thread.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -379,7 +379,7 @@
TUint id=RThread().Id();
if(aIsLock)
t.iFSLock.Wait();
- TBool b = t.iIsAvailable && (!t.iIsSync && t.iId==id || t.iIsSync);
+ TBool b = t.iIsAvailable && ((!t.iIsSync && t.iId==id) || t.iIsSync);
if(aIsLock)
t.iFSLock.Signal();
return(b);
--- a/userlibandfileserver/fileserver/sfsrv/cl_fman.cpp Wed Jul 21 14:14:06 2010 +0100
+++ b/userlibandfileserver/fileserver/sfsrv/cl_fman.cpp Thu Jul 22 16:46:39 2010 +0100
@@ -2614,7 +2614,7 @@
TInt r=KErrNotFound;
if (iAction == EInternalRmDir ||
(iAction == EInternalCopyForMove && ((iMatchEntry & KMovingFilesMask) != KMovingFilesMask) && !iMovingContents && !iSrcFile.IsRoot()) ||
- iAction == EInternalRenameForMove && !iMovingContents && iNumberOfFilesProcessed)
+ (iAction == EInternalRenameForMove && !iMovingContents && iNumberOfFilesProcessed))
{
r=iFs.RmDir(iSrcFile.FullName());
if ((r!=KErrNone && r!=KErrNotFound && iAction!=EInternalRenameForMove && r!=KErrInUse) || (iAction == EInternalRmDir && r == KErrInUse))