This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: where do I figure out "relocation R_X86_64_PC32" errors
- From: "H. J. Lu" <hjl at lucon dot org>
- To: sean <seandarcy2 at gmail dot com>
- Cc: binutils at sources dot redhat dot com
- Date: Sun, 17 Sep 2006 08:44:16 -0700
- Subject: Re: where do I figure out "relocation R_X86_64_PC32" errors
- References: <eejmkv$b93$1@sea.gmane.org>
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.