This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Generated libcalls


Jan's recent addition of stringop optimization also lowered the limit up to
which gcc will inline memcpy calls. This broke some Linux kernel modules.
The reason is that gcc generated libcalls for those memcpy's exceeding the
limit. As there is no library available for kernel modules (memcpy calls
normally get inlined versions via linux/string.h), these can't be loaded.

While the modules in question did stupid things like passing 64 byte
structs by value, it's not exactly easy to find the spots where this
happens,

As IMO this is important for any freestanding target, I think we need something
like -ffreestanding, telling gcc to *not* generate such libcalls but instead
stop with an error in such cases.

But before I start looking at how to do this, I'd like to hear opinions on
this matter, as I could be on the wrong track of thinking (it's happened
before :).

Philipp

-- 
Philipp Thomas <pthomas@suse.de>
SuSE GmbH, Deutschherrenstrasse 15-29, 90429 Nuremberg

"My brain functions well enough. I can breathe, walk, even post on news-
groups." - "I'm sorry, but we can't take any of those as evidence of a
functioning brain."              Ace Lightning, Lloyd Wood, talk.bizarre

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]