Messages in this thread | | | Date | Thu, 7 Sep 2006 03:02:35 +0200 | From | Adrian Bunk <> | Subject | Re: [2.6 patch] re-add -ffreestanding |
| |
On Thu, Sep 07, 2006 at 02:47:42AM +0200, Roman Zippel wrote: > Hi, > > On Thu, 7 Sep 2006, Adrian Bunk wrote: > > > > BS, even without it gcc can't make such assumption. > > > There is not a single optimization, which would be invalid in a kernel > > > environment and would be "fixed" by this option, so please stop this > > > nonsense. > > > > You are wrong. > > > > Section 5.1.2.2.2 of ISO/IEC 9899:1999 says: > > In a hosted environment, a program may use all functions, macros, type > > definitions, and objects described in the library clause (clause 7). > > > > Since a hosted environment means gcc+libc, it's therefore clear that gcc > > can assume the presence of a full libc if gcc isn't told that it's used > > as a freestanding environment. > > Define "full libc".
Everything described in clause 7 of ISO/IEC 9899:1999.
> Explain what exactly -ffreestanding fixes, which is not valid for the > kernel.
It's simply correct since the kernel doesn't provide everything described in clause 7 of ISO/IEC 9899:1999.
And it fixes compile errors caused by the fact that gcc is otherwise allowed to replace calls to any standard C function with semantically equivalent calls to other standard C functions - in a hosted environment the latter are guaranteed to be present.
> byem Roman
cu Adrian
--
"Is there not promise of rain?" Ling Tan asked suddenly out of the darkness. There had been need of rain for many days. "Only a promise," Lao Er said. Pearl S. Buck - Dragon Seed
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |