Re: Gnutools: consideration for upgrade to GCC 4.6
Ilija Kocho <[email protected]> Mon, 23 Jan 2012 19:40:32 +0100
| Newsgroups | gmane.os.ecos.devel |
|---|---|
| Message-ID | <[email protected]> |
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