Re: [PATCH 2/3] FRV: Permit __do_IRQ() to be dispensed with

From: Ingo Molnar
Date: Sat Sep 09 2006 - 01:17:39 EST



* David Howells <dhowells@xxxxxxxxxx> wrote:

> +#ifndef CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ

> +#ifdef CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ

> +#ifndef CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ

I think the myriad of arch switches and the resulting #ifdef noise, just
to get rid of a _single_ unused global function, is pretty lame. (and
that's of course not your fault)

The real solution would be to use gcc -ffunction-sections plus ld
--gc-sections to automatically get rid of unused global functions, at
link time. I'm wondering how hard it would be to enhance kbuild to do
that - x86_64 already uses -ffunction-sections (if CONFIG_REORDER), so
the big question is how usable is ld --gc-sections. Such a feature would
be quite important for embedded systems (and for RAM footprint in
general) as it would save a significant amount of .text and .data.

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