Messages in this thread | | | Subject | Re: [PATCH 2/3] checkpatch: Add error on use of attribute((weak)) or __weak | From | Joe Perches <> | Date | Wed, 15 Oct 2014 12:52:44 -0700 |
| |
On Wed, 2014-10-15 at 12:50 -0700, Andrew Morton wrote: > On Wed, 15 Oct 2014 12:45:48 -0700 Joe Perches <joe@perches.com> wrote: > > > On Wed, 2014-10-15 at 12:42 -0700, Andrew Morton wrote: > > > On Wed, 15 Oct 2014 12:32:08 -0700 Joe Perches <joe@perches.com> wrote: > > > > > > > Using weak can have unintended link defects. > > > > Emit an error on its use. > > > > > > Well, we don't want a warning about use of __weak in function > > > definitions. Only in declarations. > > > > Why is that? > > Because the problem we're trying to detect is when __weak is used on a > declaration. > > This is OK: > > foo.h: > extern int foo(void); > foo.c: > int __weak foo(void) > { > ... > } > > But this is not OK: > > foo.h: > extern __weak int foo(void); > foo.c: > int __weak foo(void) > { > ... > } >
And this?
foo.c:
extern __weak int foo(void);
int __weak foo(void) { }
| |