[PATCH v8 02/21] acpi: fix acpi_os_ioremap for arm64

Bjorn Helgaas bhelgaas at google.com
Wed Feb 4 08:41:11 PST 2015


On Wed, Feb 4, 2015 at 10:25 AM, Russell King - ARM Linux
<linux at arm.linux.org.uk> wrote:
> On Wed, Feb 04, 2015 at 09:53:28AM -0600, Bjorn Helgaas wrote:
>> On Wed, Feb 4, 2015 at 4:48 AM, Russell King - ARM Linux
>> <linux at arm.linux.org.uk> wrote:
>> > Moreover, __weak is positively harmful when you consider it adds bloat
>> > and dead code - the overriden __weak function is left behind in the
>> > resulting final image.
>>
>> Huh, I didn't realize that.  Is that a linker bug, or is there some
>> reason the weak function has to be in the final image?  I tried a
>> trivial test on x86 with gcc-4.8.2/ld-2.24, and I think the weak
>> function text was omitted, but a string constant used only by the weak
>> function was included.
> ...
> The reason this happens is because normally, each function text is
> emitted into the .text section of the object file, one after each
> other.  When the image is linked, the linker copies the contents of
> the complete input section to the output file, and then resolves the
> symbolic information and relocations.

OK, that makes sense.  Thanks a lot for the detailed explanation!



More information about the linux-arm-kernel mailing list