Re: [PATCH] Fix __ucmpdi2 in v4l2_norm_to_name()

From: Mauro Carvalho Chehab
Date: Thu Jan 04 2007 - 18:12:39 EST


Em Qui, 2007-01-04 às 14:48 -0800, Andrew Morton escreveu:
> On Thu, 04 Jan 2007 12:10:14 +0100
> Stelian Pop <stelian@xxxxxxxxxx> wrote:
>
> > Hi,
> >
> > This patch replaces a switch statement using 64 bit values with the
> > if/else equivalent in order to prevent a call __ucmpdi2 generated by
> > some versions of gcc (verified with gcc-4.1.2 20060928):
> >
> > drivers/built-in.o: In function `v4l2_norm_to_name':
> > (.text+0x71100): undefined reference to `__ucmpdi2'
> >
> > Signed-off-by: Stelian Pop <stelian@xxxxxxxxxx>
> >
> > ---
> >
> > drivers/media/video/v4l2-common.c | 126 ++++++++++++++++++-------------------
> > 1 files changed, 62 insertions(+), 64 deletions(-)
> >
> > diff --git a/drivers/media/video/v4l2-common.c b/drivers/media/video/v4l2-common.c
> > index 752c82c..0c3c2f6 100644
> > --- a/drivers/media/video/v4l2-common.c
> > +++ b/drivers/media/video/v4l2-common.c
> > @@ -91,70 +91,68 @@ char *v4l2_norm_to_name(v4l2_std_id id)
> > {
> > char *name;
> >
> > - switch (id) {
>
> It'd be simpler to just do
>
> switch ((unsigned int)id) {
>
> here (with a suitable comment).
>
> The largest value we use here is 0x02000000. Perhaps v4l2_std_id shouldn't
> be 64-bit?
Too late to change it to 32 bits. It is at V4L2 userspace API since
kernel 2.6.0. We can, however use this approach as a workaround, with
the proper documentation. I'll handle it after I return from vacations
next week.

>
Cheers,
Mauro.

-
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/