Re: [PATCH 1/6] Suppress A.OUT library support if !CONFIG_BINFMT_AOUT [try #5]

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Andi Kleen
Date: Sunday, November 11, 2007 - 8:46 am

> My thoughts go more into the direction that we have hundreds of similar

 -ffunction-sections can mostly do it, but only for non modular kernels

One problem is that EXPORT_SYMBOL always creates a reference to the function
even when nothing uses it.

We would need a weak EXPORT_SYMBOL and some way to check references
over main kernel and modules. I suppose it could be done as part of modpost
and then generating a custom linker script that only includes the function
sections referenced by anybody. But to make this work it would require
putting all the EXPORT_SYMBOLs into own sections too, but I suppose
that would be possible.

In the past we had trouble that the explicit linker scripts mentioning every 
function section made the linker very slow, but perhaps that's fixed now.

The whole thing would likely made a lot of out of tree modules unhappy
though. Distribution kernels might need to turn it off generally because of 
that. 

The question is if it would be still have a large enough user base without the 
distribution kernels. If it would be only used by a few users I don't think 
the maintenance overhead would be worth it.


I don't have a patch yet, but I can submit one for -mm* if it's helpful.
It's not very difficult.

-Andi
-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: [PATCH 1/6] Suppress A.OUT library support if !CONFIG_ ..., Andi Kleen, (Sun Nov 11, 8:46 am)