Messages in this thread | | | Subject | Re: pre-patch-2.1.37-3 comment / compile fixes | Date | Sun, 04 May 1997 19:53:30 +0200 | From | Andi Kleen <> |
| |
In message <5kie71$daa$1@palladium.transmeta.com>you write: >In article <199705032258.AAA28920@informatik.uni-koblenz.de>, >Systemkennung Linux <linux@mailhost.uni-koblenz.de> 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.
-A.
| |