where do I figure out "relocation R_X86_64_PC32" errors
H. J. Lu
hjl@lucon.org
Sun Sep 17 15:44:00 GMT 2006
On Sun, Sep 17, 2006 at 10:38:23AM -0400, sean wrote:
> I'm trying to build ffmpeg svn.
>
> It dies:
>
> gcc -shared -Wl,-soname,libswscale.so.0 -Wl,--warn-common
> -pthread -rdynamic -export-dynamic -Wl,--as-needed
> -Wl,-rpath-link,/usr/src/redhat/BUILD/ffmpeg/libavcodec
> -Wl,-rpath-link,/usr/src/redhat/BUILD/ffmpeg/libavformat
> -Wl,-rpath-link,/usr/src/redhat/BUILD/ffmpeg/libavutil -o
> libswscale.so.0 swscale.o rgb2rgb.o yuv2rgb.o -L../libavutil
> -lavutil -lm -lz -lgsm -lmp3lame -lvorbis -lvorbisenc -logg
> -logg -lxvidcore -lx264 -ldc1394_control -lraw1394 -lfaac
> -lfaad -ldl
> ranlib libswscale.a
> /usr/bin/ld: yuv2rgb.o: relocation R_X86_64_PC32 against
> `mmx_00ffw' can not be used when making a shared object;
> recompile with -fPIC
>
> but yuv2rgb _was_ compiled with -fPIC:
>
> gcc -I.. -I/usr/src/redhat/BUILD/ffmpeg
> -I/usr/src/redhat/BUILD/ffmpeg/libavutil -fPIC -march=k8
> -pthread -g -Wdeclaration-after-statement -Wall -Wno-switch
> -Wdisabled-optimization -Wpointer-arith -Wredundant-decls
> -Winline -O3 -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64
> -D_LARGEFILE_SOURCE -D_GNU_SOURCE -fPIC -DPIC -c -o
> yuv2rgb.o yuv2rgb.c
>
>
> mmx_00ffw is just a constant in yuv2rgb.c:
>
> uint64_t attribute_used __attribute__((aligned(8)))
> mmx_00ffw = 0x00ff00ff00ff00ffULL;
>
> Any suggestions are appreciated on how to fix this.
>
Can you send me preprocessed yuv2rgb.c?
H.J.
More information about the Binutils
mailing list