Re: [PATCH] Generic dead function optimisation

Martin Mares (mj@suse.cz)
Tue, 25 Apr 2000 14:51:59 +0200


Hello!

> Not only that, it violates longstanding C semantics.
>
> "static" => "can not be referenced outside this compilation unit"
> "EXPORT_SYMBOL" => "can be referenced outside this compilation unit"

If "referenced" means "referenced by its name" and not "called", then
yes. But the EXPORT_SYMBOL case is equivalent to making a non-static
data structure contain a pointer to your static function which is
perfectly normal C. For example:

static void f(void)
{
}

void (*pf)(void) = f;

and then (in another compilation unit)

pf();

is obviously correct.

Have a nice fortnight

-- 
Martin `MJ' Mares <mj@ucw.cz> <mj@suse.cz> http://atrey.karlin.mff.cuni.cz/~mj/
"ADA -- A Dumb Acronym"

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/