[FFmpeg-devel] [PATCH] Symbian OS won't load binaries which have a function pointer assigned directly using a library routine

Michael Niedermayer michaelni
Mon Jan 24 16:18:51 CET 2011


On Mon, Jan 24, 2011 at 01:16:04PM +0000, M?ns Rullg?rd wrote:
> Pankaj yadav <pankajdnapster at gmail.com> writes:
> 
> > Hi,
> >
> > We are porting VLC and dependency libraries to Symbian OS and this is a
> > small patch which is a workaround to a Symbian OS limitation.
> >
> > -- 
> > Pankaj Yadav
> > http://people.videolan.org/~pk <http://people.videolan.org/%7Epk>
> > Open Source Enthusiast
> >
> > From c09de83ea0a4ed13653e26296d5bd5b20db93e31 Mon Sep 17 00:00:00 2001
> > From: Pankaj Yadav <pk at videolan.org>
> > Date: Mon, 24 Jan 2011 18:01:03 +0530
> > Subject: [PATCH] Symbian OS won't load binaries which have a function pointer assigned directly using a library routine
> >
> > ---
> >  libavutil/eval.c |   84 ++++++++++++++++++++++++++++++++++++++++++++++--------
> >  1 files changed, 72 insertions(+), 12 deletions(-)
> >
> > diff --git a/libavutil/eval.c b/libavutil/eval.c
> > index 0fef97b..a5b7dc7 100644
> > --- a/libavutil/eval.c
> > +++ b/libavutil/eval.c
> > @@ -71,6 +71,66 @@ static const int8_t si_prefixes['z' - 'E' + 1] = {
> >      ['Y'-'E']=  24,
> >  };
> >  
> > +static double staticsin(double a)
> > +{
> > +    return sin(a);
> > +}
> > +
> 
> [...]
> 
> >  double av_strtod(const char *numstr, char **tail)
> >  {
> >      double d;
> > @@ -250,18 +310,18 @@ static int parse_primary(AVExpr **e, Parser *p)
> >      p->s++; // ")"
> >  
> >      d->type = e_func0;
> > -         if (strmatch(next, "sinh"  )) d->a.func0 = sinh;
> > -    else if (strmatch(next, "cosh"  )) d->a.func0 = cosh;
> > -    else if (strmatch(next, "tanh"  )) d->a.func0 = tanh;
> > -    else if (strmatch(next, "sin"   )) d->a.func0 = sin;
> > -    else if (strmatch(next, "cos"   )) d->a.func0 = cos;
> > -    else if (strmatch(next, "tan"   )) d->a.func0 = tan;
> > -    else if (strmatch(next, "atan"  )) d->a.func0 = atan;
> > -    else if (strmatch(next, "asin"  )) d->a.func0 = asin;
> > -    else if (strmatch(next, "acos"  )) d->a.func0 = acos;
> > -    else if (strmatch(next, "exp"   )) d->a.func0 = exp;
> > -    else if (strmatch(next, "log"   )) d->a.func0 = log;
> > -    else if (strmatch(next, "abs"   )) d->a.func0 = fabs;
> > +         if (strmatch(next, "sinh"  )) d->a.func0 = staticsinh;
> > +    else if (strmatch(next, "cosh"  )) d->a.func0 = staticcosh;
> > +    else if (strmatch(next, "tanh"  )) d->a.func0 = statictanh;
> > +    else if (strmatch(next, "sin"   )) d->a.func0 = staticsin;
> > +    else if (strmatch(next, "cos"   )) d->a.func0 = staticcos;
> > +    else if (strmatch(next, "tan"   )) d->a.func0 = statictan;
> > +    else if (strmatch(next, "atan"  )) d->a.func0 = staticatan;
> > +    else if (strmatch(next, "asin"  )) d->a.func0 = staticasin;
> > +    else if (strmatch(next, "acos"  )) d->a.func0 = staticacos;
> > +    else if (strmatch(next, "exp"   )) d->a.func0 = staticexp;
> > +    else if (strmatch(next, "log"   )) d->a.func0 = staticlog;
> > +    else if (strmatch(next, "abs"   )) d->a.func0 = staticfabs;
> >      else if (strmatch(next, "squish")) d->type = e_squish;
> >      else if (strmatch(next, "gauss" )) d->type = e_gauss;
> >      else if (strmatch(next, "mod"   )) d->type = e_mod;
> 
> This is ridiculous.  What is the reason for this crazy limitation?

i dont like you mans but i agree this is crazy

maybe its something with a missing linked in lib? and this works
because macros get used or something in that direction i dont know exactly

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

The educated differ from the uneducated as much as the living from the
dead. -- Aristotle 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20110124/3b1d83c1/attachment.pgp>



More information about the ffmpeg-devel mailing list