[haiku-development] Re: avcodec gcc4 build broken

  • From: "François Revol" <revol@xxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Mon, 16 Mar 2009 11:26:50 +0100 CET

> Michael Weirauch - 2009-03-15 20:09 :
> > is somebody able to get the gcc4 build of avcodec/libavcodec going
> > or is
> > it just my local setup?
> >
> > src/add-ons/media/plugins/avcodec/libavcodec/cabac.h: In function
> > 'get_cabac_noinline':
> > src/add-ons/media/plugins/avcodec/libavcodec/cabac.h:527: error:
> > PIC
> > register '%ebx' clobbered in 'asm'
> > src/add-ons/media/plugins/avcodec/libavcodec/cabac.h: In function
> > 'get_cabac':
> > src/add-ons/media/plugins/avcodec/libavcodec/cabac.h:527: error:
> > PIC
> > register '%ebx' clobbered in 'asm'
> > src/add-ons/media/plugins/avcodec/libavcodec/x86/h264_i386.h: In
> > function 'decode_significance_x86':
> > src/add-ons/media/plugins/avcodec/libavcodec/x86/h264_i386.h:44:
> > error:
> > PIC register '%ebx' clobbered in 'asm'
>
> You might try building with -fno-pic. I ran into this problem with
> inline
> assembler when EAX - EDX are clobbered at once, -fno-pic fixed this.
> This seems to be a Haiku-specific problem, GCC4 on Cygwin/Windows has
> no
> problem compiling such code.
>

Because ffmpeg configure by default disables PIC, except for BeOS,
where everything is PIC by default.
But it's not really a problem, it's still possible to disable PIC, and
in fact warranted for such cpu hungry code.

François.

Other related posts: