[uClibc] Re: GCC-4.1.0 size optimization bug for MIPS architecture...
sterling at tensilica.com
Wed Jun 29 15:12:17 UTC 2005
Steven J. Hill wrote:
> This makes sense, but I also have a binutils-2.16.1, gcc-3.4.4
> and the same uClibc code and gcc-3.4.4 does produce a valid
> dynamic loader with '-Os'. When looking at the dissassembly
> for that, the _syscall1 and other functions are inlined. So,
> apparently things have changed with regards to inling from the
> gcc-3.4.x series to gcc-4.1.x? I can upload the binaries for
> the gcc-3.4.4 produced version if needed.
Yes, things have changed. However, that does not imply that there is a
bug in either implementation. Before you were lucky. Now you are unlucky.
You are relying on "implementation defined" behavior, which the
implementation can choose more-or-less willy-nilly and still be correct.
If some call *must* be inlined, the you *must* use
__attribute__((__always_inline__)). The compiler is producing correct code.
More information about the uClibc