Messages in this thread | | | Subject | Re: [PATCH 4/4] x86: Final unification of local_{32|64}.h | From | Harvey Harrison <> | Date | Sun, 16 Dec 2007 15:38:51 -0800 |
| |
On Sun, 2007-12-16 at 14:48 -0800, H. Peter Anvin wrote: > Ingo Molnar wrote: > > * Harvey Harrison <harvey.harrison@gmail.com> wrote: > > > >> No differences except for the defintion of local_add_return on X86_64. > >> The X86_32 version is just fine as it is protected with ifdef > >> CONFIG_M386 so use it directly. > > > > thanks, i've applied your 4 patches to x86.git. > > > > btw., now that we have a single unified file, it might make sense to fix > > these checkpatch complaints: > > > > total: 10 errors, 1 warnings, 257 lines checked > > > > in case you are interested ;-) > > > > Please pull them pending revision, they're broken (macros don't expand > inside strings...) >
Do you have a stylistic preference between these two options:
Option 1) Rely on CPP string constant concatenation
// possibly include trailing space here to avoid remembering // leading space on the register names # define _ASM_INC "incl"
static inline void local_inc(local_t *l) { __asm__ __volatile__( _ASM_INC " %0" :"+m" (l->a.counter)); }
Option 2) Macro Expansion
# define _ASM_INC(r) \"incl\ ##r\"
static inline void local_inc(local_t *l) { __asm__ __volatile__( _ASM_INC(%0); :"+m" (l->a.counter)); }
Or some other suggestion.
Harvey
| |