[En-Nut-Discussion] Some notes on using GCC 4.4.1 (eh_frame)
Ulrich Prinz
uprinz2 at netscape.net
Mon Sep 7 15:40:07 CEST 2009
On Mon, 07 Sep 2009 10:00:58 +0200, Harald Kipp <harald.kipp at egnite.de>
wrote:
> Ulrich Prinz wrote:
>
>> I think it is not so optimal to update the compiler with breaking
>> compatibility and leaving the developers using it alone.
>> Even the comments from the wiki with arm-elf-ar -d ... doesn't work.
>
> Bad timing. Michael moved to Sourceforge in 2009 and egnite recently
> moved its outdated mirror yagarto.org to a new machine, taking over the
> current status of yagarto.de.
>
> It is necessary to have previous versions available. For now I'm moving
> my local backup to
> http://www.ethernut.de/arc/
> Unfortunately the original file dates are gone.
>
I normally save my toolchains together with my projects. Unfortunately I
didn't do that this time. May be caus it's a long time ago when I was
thinking about using NutO/S or not. But I found a version including GCC
4.1.1 and that one workes flawlessly.
>
>> The systemcalls.c from yagarto.de may be a neat idea, but the function
>> headers don't match...
>
> I must admit, that I didn't fully understand the topic. AFAIK, syscalls
> had been always part of YAGARTO's newlib distribution. They often
> appeared in linker errors as soon as standard C calls were referenced,
> which require system functions (alloc, print etc.) and which were not
> available in Nut/OS libs. E.g. using calloc or strdup in older Nut/OS
> versions, which didn't support them.
>
> I'll give it a try,
>
I can try to reproduce the differences between 4.1.1 and 4.4.1 compiler
running through NutO/S 4.9.3.0. But this will take a few days.
What I found out at work was, that I accidentially used fileno() instead of
_fileno() what gave me a lot of lib related errors. ( Missing _strtok())
But there where no *_r (reentrant) errors. I didn't made such a mistake on
my try yesterday, as I compiled a software that ran without problems before
I reinstalled Windows on my Workstation. ( I am going modern, I installed
XP :) )
So I simply tried the new installed compiler to check if it's working.
I expected openocd 0.2.0 to make trouble and yagarto to run fine. But
according to Murphy's law openocd started out of the box so yagarto had to
fail :)
I scan the code for possible links to the wrong libs. But I don't know all
the functions. So it may last a while. May be that explains, why the
Ethernet Stack crashes if a button is pressed :)
Best regards
Ulrich
More information about the En-Nut-Discussion
mailing list