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