This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

where do I figure out "relocation R_X86_64_PC32" errors


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.

But also, is there anyplace this issue is described? For instance, does it arise because these are 64 bit ints ?, aligned? visibility tags? Any general discussion of this issue around? Googling hasn't helped.

sean


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]