Create Compiler_Compatibility branch (which can trigger package builds) and pull in changes for GCCE compatibility.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/.hgtags Thu Feb 04 12:23:54 2010 +0000
@@ -0,0 +1,2 @@
+a41df078684ad3b64d71f9407a748f84d50d35b1 PDK_3.0.b
+f828418ede2a3e3e1cecc4b3424860ae81a94969 PDK_3.0.c
--- a/kernel/eka/kernel/arm/d_entry.cpp Tue Feb 02 01:24:03 2010 +0200
+++ b/kernel/eka/kernel/arm/d_entry.cpp Thu Feb 04 12:23:54 2010 +0000
@@ -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 Tue Feb 02 01:24:03 2010 +0200
+++ b/kernel/eka/kernel/arm/k_entry.cia Thu Feb 04 12:23:54 2010 +0000
@@ -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 Tue Feb 02 01:24:03 2010 +0200
+++ b/kernel/eka/kernel/arm/l_entry.cia Thu Feb 04 12:23:54 2010 +0000
@@ -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 Tue Feb 02 01:24:03 2010 +0200
+++ b/kernel/eka/kernel/arm/v_entry.cpp Thu Feb 04 12:23:54 2010 +0000
@@ -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 Tue Feb 02 01:24:03 2010 +0200
+++ b/kernel/eka/kernel/arm/x_entry.cpp Thu Feb 04 12:23:54 2010 +0000
@@ -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/userlibandfileserver/fileserver/sfile/sf_func.h Tue Feb 02 01:24:03 2010 +0200
+++ b/userlibandfileserver/fileserver/sfile/sf_func.h Thu Feb 04 12:23:54 2010 +0000
@@ -918,7 +918,7 @@
public:
static TInt Initialise(CFsRequest* aRequest);
static TInt DoRequestL(CFsRequest* aRequest);
-#ifndef __GCC32__ // GCC does not like AddFsToCompositeMountL() being private
+#ifndef __GCC32__ || __GCCE__// GCC does not like AddFsToCompositeMountL() being private
private:
#endif
static void AddFsToCompositeMountL(TInt aDriveNumber, CFileSystem& aFileSystem, TInt aLocalDriveNumber);