This is the mail archive of the ecos-devel@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Gnutools: consideration for upgrade to GCC 4.6


On 23.01.2012 02:13, Jonathan Larmour wrote:
On 14/01/12 16:24, Ilija Kocho wrote:
On 14.01.2012 11:22, John Dallaway wrote:
There are sure to be some new compiler warnings to deal with in the eCos
sources. Are you aware of the scale of this issue with eCos CVS and GCC
4.6.2?
If it could be some measure, the compilation of eCos library for the
/default/ template (target K60N512) raises 11 warnings, all seem to be
the same type:
warning: variable ‘<varname>’ set but not used [-Wunused-but-set-variable]
Some cases are unused variables indeed, but of some the usage is
"hidden" (within asm() or macro).
Try redboot (on a target including flash and network). There's a lot more
there.

Thank you for notice jifl, my systems are typically small and I seldom use RedBoot.
I'm not surprised as some warnings also appear with GCC 4.3.2. Testing period would be an opportunity to get rid of them.


There are a few patches that were applied to current toolchain sources:

ftp://ecos.sourceware.org/pub/ecos/gnutools/src/

It would be useful to review these and determine which are still
relevant.
I have implemented them in my build (for ARM only). They seem to fit
with the new code but regarding relevancy it probably requires more
analysis and better knowledge of GCC intrinsics than mine.
Feel free to ask.

This one :


--- gcc-4.3.2.clean/gcc/config/arm/arm.h 2008-09-22 19:41:47.000000000 +0100
+++ gcc-4.3.2/gcc/config/arm/arm.h 2008-10-03 22:54:49.000000000 +0100
@@ -194,7 +194,7 @@ extern void (*arm_lang_output_object_att
#define TARGET_BACKTRACE (leaf_function_p () \
? TARGET_TPCS_LEAF_FRAME \
: TARGET_TPCS_FRAME)
-#define TARGET_LDRD (arm_arch5e && ARM_DOUBLEWORD_ALIGN)
+#define TARGET_LDRD (0) /* arm_arch5e && ARM_DOUBLEWORD_ALIGN) */
#define TARGET_AAPCS_BASED \
(arm_abi != ARM_ABI_APCS && arm_abi != ARM_ABI_ATPCS)


I suppose that it is related to infamous Cortex-M LDRD bug http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka8542.html
for which control has been provided in GCC 4.4 http://gcc.gnu.org/gcc-4.4/changes.html
I have rejected this patch, but my assumption may be wrong. Please confirm.



Ilija



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]