Re: pre-patch-2.1.37-3 comment / compile fixes

Andi Kleen (
Sun, 04 May 1997 19:53:30 +0200

In message <5kie71$daa$>you write:
>In article <>,
>Systemkennung Linux <> wrote:
>>Martin is right. The bug is produced by GCC inlining
>>csum_partial_copy_generic() into csum_partial_copy() AND keeping one
>>outlined copy of csum_partial_copy_generic() for the other callers
>>in include/asm-i386/checksum.h. Fix is to use local labels only in
>>all inline assembler.
>Note to performance people: I used to think that using local labels was
>a great idea, but I'm not all that certain any more. The problem is
>that gcc seems to implement local labels through a similar mechanism as
>local functions, which in turn means that any function that has a local
>label will aqcuire a stack frame. No, don't ask me why, but that is
>what seems to happen.
I think Ralf meant inline assembler local labels (implemented in gas)
instead of gcc local labels. According to the gcc documentation the
compiler doesn't look at the assembler text in __asm__ statements,
so I doubt that local labels there change the way it generates code.