Re: swsusp.S: meaningfull assembly labels

From: Pavel Machek
Date: Fri Jun 25 2004 - 11:15:14 EST


Hi!

> > This introduces meaningfull labels instead of .L1234, meaning code is
> > readable, kills alignment where unneccessary, and kills TLB flush that
> > was only pure paranoia (and slows it down a lot on emulated
> > systems). Please apply,
> >
> > Pavel
> >
> > --- linux-cvs//arch/i386/power/swsusp.S 2004-05-25 17:41:18.000000000 +0200
> > +++ linux/arch/i386/power/swsusp.S 2004-06-24 14:39:01.000000000 +0200
> > @@ -18,7 +18,7 @@
> > ENTRY(do_magic)
> > pushl %ebx
> > cmpl $0,8(%esp)
> > - jne .L1450
> > + jne resume
> > call do_magic_suspend_1
> > call save_processor_state
> >
...
> NO! You just made those labels public! The LOCAL symbols need to
> begin with ".L". Now, if you have a 'copy_loop' in another module,
> linked with this, anywhere in the kernel, they will share the
> same address -- not what you expected, I'm sure! The assembler
> has some strange rules you need to understand. Use `nm` and you
> will find that your new labels are in the object file!

Are you sure? I thought theare not visible from other moduless unless
"ENTRY()" is used. See for example entry.S.
Pavel

--
People were complaining that M$ turns users into beta-testers...
...jr ghea gurz vagb qrirybcref, naq gurl frrz gb yvxr vg gung jnl!
-
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/