Bug 12952

Summary: Cannot compile ffmpeg with gold on FreeBSD 8 64bit
Product: binutils Reporter: interfaSys sàrl <website-sourceware>
Component: goldAssignee: Ian Lance Taylor <ian>
Status: RESOLVED FIXED    
Severity: critical    
Priority: P2    
Version: 2.22   
Target Milestone: ---   
Host: Target:
Build: Last reconfirmed:

Description interfaSys sàrl 2011-06-29 23:52:11 UTC
This is the error message:
LD      libavformat/libavformat.so.1
/usr/local/bin/ld: internal error in override_version, at resolve.cc:61
collect2: ld returned 1 exit status
gmake: *** [libavformat/libavformat.so.1] Error 1

and the result of configure:
===>  Configuring for ffmpeg-0.7.1_4,1
sdl-config: not found
install prefix            /usr/local
source path               /usr/ports/multimedia/ffmpeg/work/ffmpeg-0.7.1
C compiler                gcc46
ARCH                      x86 (generic)
big-endian                no
runtime cpu detection     yes
yasm                      yes
MMX enabled               yes
MMX2 enabled              yes
3DNow! enabled            yes
3DNow! extended enabled   yes
SSE enabled               yes
SSSE3 enabled             yes
AVX enabled               yes
CMOV enabled              yes
CMOV is fast              yes
EBX available             yes
EBP available             yes
10 operands supported     yes
debug symbols             no
strip symbols             yes
optimizations             yes
static                    yes
shared                    yes
postprocessing support    yes
new filter support        yes
network support           yes
threading support         pthreads
SDL support               no
Sun medialib support      no
AVISynth enabled          no
libcelt enabled           no
frei0r enabled            no
libdc1394 support         no
libdirac enabled          no
libfaac enabled           yes
libgsm enabled            yes
libmp3lame enabled        yes
libnut enabled            no
libopencore-amrnb support yes
libopencore-amrwb support yes
libopencv support         yes
libopenjpeg enabled       no
librtmp enabled           no
libschroedinger enabled   yes
libspeex enabled          no
libtheora enabled         yes
libva enabled             no
libvo-aacenc support      yes
libvo-amrwbenc support    yes
libvorbis enabled         yes
libvpx enabled            yes
libx264 enabled           yes
libxavs enabled           no
libxvid enabled           yes
zlib enabled              yes
bzlib enabled             yes

Here are the CFLAGS
-O2 -pipe -funroll-loops -ftracer -Ofast -floop-interchange -floop-strip-mine -floop-block -march=native -fno-strict-aliasing -msse

and the GCC configuration
Using built-in specs.
COLLECT_GCC=/usr/local/bin/gcc46
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc46/gcc/x86_64-portbld-freebsd8.2/4.6.1/lto-wrapper
Target: x86_64-portbld-freebsd8.2
Configured with: ./../gcc-4.6-20110610/configure --disable-nls --enable-languages=c,c++,fortran --libdir=/usr/local/lib/gcc46 --libexecdir=/usr/local/libexec/gcc46 --program-suffix=46 --with-as=/usr/local/bin/as --with-gmp=/usr/local --with-gxx-include-dir=/usr/local/lib/gcc46/include/c++/ --with-ld=/usr/local/bin/ld --with-libiconv-prefix=/usr/local --with-pkgversion='FreeBSD Ports Collection' --with-plugin-ld=/usr/local/bin/ld.gold --enable-threads --with-cloog=/usr/local --enable-cloog-backend=isl --disable-libgcj --prefix=/usr/local --mandir=/usr/local/man --infodir=/usr/local/info/gcc46 --build=x86_64-portbld-freebsd8.2
Thread model: posix
gcc version 4.6.1 20110610 (prerelease) (FreeBSD Ports Collection)
Comment 1 Ian Lance Taylor 2011-06-30 00:57:59 UTC
Where can I find the source files required to reproduce this problem?
Comment 2 interfaSys sàrl 2011-06-30 13:09:19 UTC
The source file is here:
http://ffmpeg.mplayerhq.hu/releases/ffmpeg-0.7.1.tar.bz2

The Makefile used to build it on FreeBSD is here:
http://www.freebsd.org/cgi/cvsweb.cgi/ports/multimedia/ffmpeg/Makefile?rev=1.133

The patches used are here:
http://www.freebsd.org/cgi/cvsweb.cgi/ports/multimedia/ffmpeg/files/
Comment 3 Ian Lance Taylor 2011-06-30 16:40:46 UTC
I downloaded ffmpeg 0.7.1 and was able to build it with gold on Ubuntu Lucid.

I'm afraid that I don't have the patience to figure out how to use the patches and Makefile you reference.  You should be able to use make V=1 to see the command which failed.  Can you please post that command here, and make available a tar ball of all the input files?  Thanks.
Comment 4 interfaSys sàrl 2011-06-30 16:54:16 UTC
Nice to know that it works flawlessly on Linux :), but things are usually a bit different on FreeBSD, so I'll try your suggestion.
When I did a search it seemed to me that the problem could be similar to what someone on Solaris was experiencing.


(In reply to comment #3)
> I downloaded ffmpeg 0.7.1 and was able to build it with gold on Ubuntu Lucid.
> 
> I'm afraid that I don't have the patience to figure out how to use the patches
> and Makefile you reference.  You should be able to use make V=1 to see the
> command which failed.  Can you please post that command here, and make
> available a tar ball of all the input files?  Thanks.
Comment 5 interfaSys sàrl 2011-06-30 17:06:27 UTC
Here is the command file:
gcc46 -shared -Wl,-soname,libavformat.so.1 -Wl,-Bsymbolic -Wl,--version-script,libavformat/libavformat.ver -Llibavcodec -Llibavdevice -Llibavfilter -Llibavformat -Llibavutil -Llibpostproc -Llibswscale -L/usr/local/lib -Wl,--as-needed -Wl,--warn-common -Wl,-rpath-link,libpostproc -Wl,-rpath-link,libswscale -Wl,-rpath-link,libavfilter -Wl,-rpath-link,libavdevice -Wl,-rpath-link,libavformat -Wl,-rpath-link,libavcodec -Wl,-rpath-link,libavutil -o libavformat/libavformat.so.1 libavformat/4xm.o libavformat/a64.o libavformat/aacdec.o libavformat/ac3dec.o libavformat/adtsenc.o libavformat/aea.o libavformat/aiffdec.o libavformat/aiffenc.o libavformat/allformats.o libavformat/amr.o libavformat/anm.o libavformat/apc.o libavformat/ape.o libavformat/apetag.o libavformat/applehttp.o libavformat/applehttpproto.o libavformat/asf.o libavformat/asfcrypt.o libavformat/asfdec.o libavformat/asfenc.o libavformat/assdec.o libavformat/assenc.o libavformat/au.o libavformat/audiointerleave.o libavformat/avc.o libavformat/avi.o libavformat/avidec.o libavformat/avienc.o libavformat/avio.o libavformat/aviobuf.o libavformat/avlanguage.o libavformat/avs.o libavformat/bethsoftvid.o libavformat/bfi.o libavformat/bink.o libavformat/c93.o libavformat/caf.o libavformat/cafdec.o libavformat/cafenc.o libavformat/cavsvideodec.o libavformat/cdg.o libavformat/concat.o libavformat/crcenc.o libavformat/crypto.o libavformat/cutils.o libavformat/daud.o libavformat/dfa.o libavformat/diracdec.o libavformat/dnxhddec.o libavformat/dsicin.o libavformat/dtsdec.o libavformat/dv.o libavformat/dvenc.o libavformat/dxa.o libavformat/eacdata.o libavformat/electronicarts.o libavformat/ffmdec.o libavformat/ffmenc.o libavformat/ffmetadec.o libavformat/ffmetaenc.o libavformat/file.o libavformat/filmstripdec.o libavformat/filmstripenc.o libavformat/flacdec.o libavformat/flacenc.o libavformat/flacenc_header.o libavformat/flic.o libavformat/flvdec.o libavformat/flvenc.o libavformat/framecrcenc.o libavformat/gif.o libavformat/gopher.o libavformat/gxf.o libavformat/gxfenc.o libavformat/h261dec.o libavformat/h263dec.o libavformat/h264dec.o libavformat/http.o libavformat/httpauth.o libavformat/id3v1.o libavformat/id3v2.o libavformat/idcin.o libavformat/idroqdec.o libavformat/idroqenc.o libavformat/iff.o libavformat/img2.o libavformat/ingenientdec.o libavformat/ipmovie.o libavformat/isom.o libavformat/iss.o libavformat/iv8.o libavformat/ivfdec.o libavformat/ivfenc.o libavformat/jvdec.o libavformat/lmlm4.o libavformat/lxfdec.o libavformat/m4vdec.o libavformat/matroska.o libavformat/matroskadec.o libavformat/matroskaenc.o libavformat/md5enc.o libavformat/md5proto.o libavformat/metadata.o libavformat/metadata_compat.o libavformat/microdvddec.o libavformat/microdvdenc.o libavformat/mm.o libavformat/mmf.o libavformat/mms.o libavformat/mmsh.o libavformat/mmst.o libavformat/mov.o libavformat/movenc.o libavformat/movenchint.o libavformat/mp3dec.o libavformat/mp3enc.o libavformat/mpc.o libavformat/mpc8.o libavformat/mpeg.o libavformat/mpegenc.o libavformat/mpegts.o libavformat/mpegtsenc.o libavformat/mpegvideodec.o libavformat/mpjpeg.o libavformat/msnwc_tcp.o libavformat/mtv.o libavformat/mvi.o libavformat/mxf.o libavformat/mxfdec.o libavformat/mxfenc.o libavformat/mxg.o libavformat/ncdec.o libavformat/nsvdec.o libavformat/nullenc.o libavformat/nut.o libavformat/nutdec.o libavformat/nutenc.o libavformat/nuv.o libavformat/oggdec.o libavformat/oggenc.o libavformat/oggparsecelt.o libavformat/oggparsedirac.o libavformat/oggparseflac.o libavformat/oggparseogm.o libavformat/oggparseskeleton.o libavformat/oggparsespeex.o libavformat/oggparsetheora.o libavformat/oggparsevorbis.o libavformat/oma.o libavformat/options.o libavformat/os_support.o libavformat/pcm.o libavformat/pcmdec.o libavformat/pcmenc.o libavformat/pmpdec.o libavformat/psxstr.o libavformat/pva.o libavformat/qcp.o libavformat/r3d.o libavformat/rawdec.o libavformat/rawenc.o libavformat/rawvideodec.o libavformat/rdt.o libavformat/riff.o libavformat/rl2.o libavformat/rm.o libavformat/rmdec.o libavformat/rmenc.o libavformat/rpl.o libavformat/rso.o libavformat/rsodec.o libavformat/rsoenc.o libavformat/rtmppkt.o libavformat/rtmpproto.o libavformat/rtp.o libavformat/rtpdec.o libavformat/rtpdec_amr.o libavformat/rtpdec_asf.o libavformat/rtpdec_h263.o libavformat/rtpdec_h264.o libavformat/rtpdec_latm.o libavformat/rtpdec_mpeg4.o libavformat/rtpdec_qcelp.o libavformat/rtpdec_qdm2.o libavformat/rtpdec_qt.o libavformat/rtpdec_svq3.o libavformat/rtpdec_vp8.o libavformat/rtpdec_xiph.o libavformat/rtpenc.o libavformat/rtpenc_aac.o libavformat/rtpenc_amr.o libavformat/rtpenc_chain.o libavformat/rtpenc_h263.o libavformat/rtpenc_h264.o libavformat/rtpenc_latm.o libavformat/rtpenc_mpv.o libavformat/rtpenc_vp8.o libavformat/rtpenc_xiph.o libavformat/rtpproto.o libavformat/rtsp.o libavformat/rtspdec.o libavformat/rtspenc.o libavformat/sapdec.o libavformat/sapenc.o libavformat/sauce.o libavformat/sdp.o libavformat/seek.o libavformat/segafilm.o libavformat/sierravmd.o libavformat/siff.o libavformat/smacker.o libavformat/sol.o libavformat/soxdec.o libavformat/soxenc.o libavformat/spdif.o libavformat/spdifdec.o libavformat/spdifenc.o libavformat/srtdec.o libavformat/swfdec.o libavformat/swfenc.o libavformat/tcp.o libavformat/thp.o libavformat/tiertexseq.o libavformat/tmv.o libavformat/tta.o libavformat/tty.o libavformat/txd.o libavformat/udp.o libavformat/utils.o libavformat/vc1test.o libavformat/vc1testenc.o libavformat/voc.o libavformat/vocdec.o libavformat/vocenc.o libavformat/vorbiscomment.o libavformat/vqf.o libavformat/wav.o libavformat/wc3movie.o libavformat/westwood.o libavformat/wtv.o libavformat/wtvdec.o libavformat/wv.o libavformat/xa.o libavformat/xwma.o libavformat/yop.o libavformat/yuv4mpeg.o -lavcodec -lavutil -L/usr/local/lib  -lX11 -lXext -lXfixes -lxvidcore -lx264 -lvpx -lvpx -lvorbisenc -lvorbis -logg -lvo-amrwbenc -lvo-aacenc -ltheoraenc -ltheoradec -logg -L/usr/local/lib -lschroedinger-1.0 -L/usr/local/lib -lopencv_core -lopencv_imgproc -lopencv_video -lopencv_flann -lopencore-amrwb -lopencore-amrnb -lmp3lame -lgsm -L/usr/local/lib -lfreetype -lfaac -lm -lbz2 -lz -pthread
/usr/local/bin/ld: internal error in override_version, at resolve.cc:61
collect2: ld returned 1 exit status
gmake: *** [libavformat/libavformat.so.1] Error 1
Comment 6 interfaSys sàrl 2011-06-30 17:10:30 UTC
The input objects are here:
http://sigma.interfasys.net/libavformat.tgz
Comment 7 Ian Lance Taylor 2011-07-01 23:47:51 UTC
Thanks for the test case.  Unfortunately, I am missing a lot of the input libraries:

../gold/ld-new: error: cannot find -lavcodec
../gold/ld-new: error: cannot find -lavutil
../gold/ld-new: error: cannot find -lxvidcore
../gold/ld-new: error: cannot find -lx264
../gold/ld-new: error: cannot find -lvpx
../gold/ld-new: error: cannot find -lvpx
../gold/ld-new: error: cannot find -lvorbisenc
../gold/ld-new: error: cannot find -lvorbis
../gold/ld-new: error: cannot find -logg
../gold/ld-new: error: cannot find -lvo-amrwbenc
../gold/ld-new: error: cannot find -lvo-aacenc
../gold/ld-new: error: cannot find -ltheoraenc
../gold/ld-new: error: cannot find -ltheoradec
../gold/ld-new: error: cannot find -logg
../gold/ld-new: error: cannot find -lschroedinger-1.0
../gold/ld-new: error: cannot find -lopencv_core
../gold/ld-new: error: cannot find -lopencv_imgproc
../gold/ld-new: error: cannot find -lopencv_video
../gold/ld-new: error: cannot find -lopencv_flann
../gold/ld-new: error: cannot find -lopencore-amrwb
../gold/ld-new: error: cannot find -lopencore-amrnb
../gold/ld-new: error: cannot find -lmp3lame
../gold/ld-new: error: cannot find -lgsm
../gold/ld-new: error: cannot find -lfaac
../gold/ld-new: error: cannot find -lbz2

Since this is a -shared link I can do the link without them, but then it succeeds.

In order to fix this bug, I will need to have some way to reproduce it in isolation.

I suppose it must have something to do with the version script somehow getting confused by the versions in the shared libraries included in the link, but I don't see what it could be.
Comment 8 interfaSys sàrl 2011-07-02 01:01:49 UTC
Would that help if I provided you with an archive containing all the libs?
Comment 9 Sourceware Commits 2011-07-02 05:30:08 UTC
CVSROOT:	/cvs/src
Module name:	src
Changes by:	ian@sourceware.org	2011-07-02 05:30:00

Modified files:
	gold           : ChangeLog dynobj.cc dynobj.h resolve.cc 
	gold/testsuite : Makefile.am Makefile.in weak_alias_test_main.cc 
Added files:
	gold/testsuite : weak_alias_test.script weak_alias_test_5.cc 

Log message:
	PR gold/12525
	PR gold/12952
	* resolve.cc (Symbol::override_base_with_special): Don't override
	the version if the overriding symbol has a different name.
	* dynobj.cc (Versions::add_def): Add dynpool parameter.  Change
	all callers.  If we give an error about an undefined version,
	define the base version if necessary.
	* dynobj.h (class Versions): Update declaration.
	* testsuite/weak_alias_test_5.cc: New file.
	* testsuite/weak_alias_test.script: New file.
	* testsuite/weak_alias_test_main.cc: Check that versioned_symbol
	and versioned_alias have the right value, and call t2.
	* testsuite/Makefile.am (weak_alias_test_DEPENDENCIES): Add
	weak_alias_test_5.so.
	(weak_alias_test_LDADD): Likewise.
	(weak_alias_test_5_pic.o, weak_alias_test_5.so): New targets.
	* testsuite/Makefile.in: Rebuild.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gold/ChangeLog.diff?cvsroot=src&r1=1.783&r2=1.784
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gold/dynobj.cc.diff?cvsroot=src&r1=1.62&r2=1.63
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gold/dynobj.h.diff?cvsroot=src&r1=1.45&r2=1.46
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gold/resolve.cc.diff?cvsroot=src&r1=1.60&r2=1.61
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gold/testsuite/weak_alias_test.script.diff?cvsroot=src&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gold/testsuite/weak_alias_test_5.cc.diff?cvsroot=src&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gold/testsuite/Makefile.am.diff?cvsroot=src&r1=1.170&r2=1.171
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gold/testsuite/Makefile.in.diff?cvsroot=src&r1=1.179&r2=1.180
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gold/testsuite/weak_alias_test_main.cc.diff?cvsroot=src&r1=1.1&r2=1.2
Comment 10 Ian Lance Taylor 2011-07-02 05:33:45 UTC
Thanks for the offer, but actually I may have found the problem anyhow.  I'm going to close this bug report.  If you have a chance, please try the build with the current development version of gold, and reopen this report if it still fails.

Thanks for reporting the bug.
Comment 11 interfaSys sàrl 2011-07-04 08:56:10 UTC
I've just tried with a snapshot and I get a segmentation fault, right at the start, but it could be a general problem with gold in 2.21.52 as it seems even recompiling binutils with this snapshots will create a broken ld.

Here is where it fails with ffmpeg:
BEGIN /home/tmp/ffconf.QPAcoEVR.c
    1   int main(void){ return 0; }
END /home/tmp/ffconf.QPAcoEVR.c
gcc46 -O2 -pipe -funroll-loops -ftracer -Ofast -floop-interchange -floop-strip-mine -floop-block -flto=6 -march=native -fno-strict-aliasing -msse -I/usr/local/include/vorbis -I/usr/local/include -c -o /home/tmp/ffconf.Jwt8C8fl.o /home/tmp/ffconf.QPAcoEVR.c
gcc46 -L/usr/local/lib -o /home/tmp/ffconf.u4bKBmuw /home/tmp/ffconf.Jwt8C8fl.o -pthread
C compiler test failed.

If I switch to ld.bfd, then things work as usual.
Comment 12 Ian Lance Taylor 2011-07-04 16:18:02 UTC
Can you get a backtrace of the segfault?  I'm not seeing that at all.
Comment 13 interfaSys sàrl 2011-07-04 16:26:21 UTC
I just looked at the backtrace and there was nothing of use in it due to the CFLAGS probably, then I removed -flto6 and it started to compile.

After a few seconds, it crashed at exactly the same point as before:

gcc46 -shared -Wl,-soname,libavformat.so.1 -Wl,-Bsymbolic -Wl,--version-script,libavformat/libavformat.ver -Llibavcodec -Llibavdevice -Llibavfilter -Llibavformat -Llibavutil -Llibpostproc -Llibswscale -L/usr/local/lib -Wl,--as-needed -Wl,--warn-common -Wl,-rpath-link,libpostproc -Wl,-rpath-link,libswscale -Wl,-rpath-link,libavfilter -Wl,-rpath-link,libavdevice -Wl,-rpath-link,libavformat -Wl,-rpath-link,libavcodec -Wl,-rpath-link,libavutil -o libavformat/libavformat.so.1 libavformat/4xm.o libavformat/a64.o libavformat/aacdec.o libavformat/ac3dec.o libavformat/adtsenc.o libavformat/aea.o libavformat/aiffdec.o libavformat/aiffenc.o libavformat/allformats.o libavformat/amr.o libavformat/anm.o libavformat/apc.o libavformat/ape.o libavformat/apetag.o libavformat/applehttp.o libavformat/applehttpproto.o libavformat/asf.o libavformat/asfcrypt.o libavformat/asfdec.o libavformat/asfenc.o libavformat/assdec.o libavformat/assenc.o libavformat/au.o libavformat/audiointerleave.o libavformat/avc.o libavformat/avi.o libavformat/avidec.o libavformat/avienc.o libavformat/avio.o libavformat/aviobuf.o libavformat/avlanguage.o libavformat/avs.o libavformat/bethsoftvid.o libavformat/bfi.o libavformat/bink.o libavformat/c93.o libavformat/caf.o libavformat/cafdec.o libavformat/cafenc.o libavformat/cavsvideodec.o libavformat/cdg.o libavformat/concat.o libavformat/crcenc.o libavformat/crypto.o libavformat/cutils.o libavformat/daud.o libavformat/dfa.o libavformat/diracdec.o libavformat/dnxhddec.o libavformat/dsicin.o libavformat/dtsdec.o libavformat/dv.o libavformat/dvenc.o libavformat/dxa.o libavformat/eacdata.o libavformat/electronicarts.o libavformat/ffmdec.o libavformat/ffmenc.o libavformat/ffmetadec.o libavformat/ffmetaenc.o libavformat/file.o libavformat/filmstripdec.o libavformat/filmstripenc.o libavformat/flacdec.o libavformat/flacenc.o libavformat/flacenc_header.o libavformat/flic.o libavformat/flvdec.o libavformat/flvenc.o libavformat/framecrcenc.o libavformat/gif.o libavformat/gopher.o libavformat/gxf.o libavformat/gxfenc.o libavformat/h261dec.o libavformat/h263dec.o libavformat/h264dec.o libavformat/http.o libavformat/httpauth.o libavformat/id3v1.o libavformat/id3v2.o libavformat/idcin.o libavformat/idroqdec.o libavformat/idroqenc.o libavformat/iff.o libavformat/img2.o libavformat/ingenientdec.o libavformat/ipmovie.o libavformat/isom.o libavformat/iss.o libavformat/iv8.o libavformat/ivfdec.o libavformat/ivfenc.o libavformat/jvdec.o libavformat/lmlm4.o libavformat/lxfdec.o libavformat/m4vdec.o libavformat/matroska.o libavformat/matroskadec.o libavformat/matroskaenc.o libavformat/md5enc.o libavformat/md5proto.o libavformat/metadata.o libavformat/metadata_compat.o libavformat/microdvddec.o libavformat/microdvdenc.o libavformat/mm.o libavformat/mmf.o libavformat/mms.o libavformat/mmsh.o libavformat/mmst.o libavformat/mov.o libavformat/movenc.o libavformat/movenchint.o libavformat/mp3dec.o libavformat/mp3enc.o libavformat/mpc.o libavformat/mpc8.o libavformat/mpeg.o libavformat/mpegenc.o libavformat/mpegts.o libavformat/mpegtsenc.o libavformat/mpegvideodec.o libavformat/mpjpeg.o libavformat/msnwc_tcp.o libavformat/mtv.o libavformat/mvi.o libavformat/mxf.o libavformat/mxfdec.o libavformat/mxfenc.o libavformat/mxg.o libavformat/ncdec.o libavformat/nsvdec.o libavformat/nullenc.o libavformat/nut.o libavformat/nutdec.o libavformat/nutenc.o libavformat/nuv.o libavformat/oggdec.o libavformat/oggenc.o libavformat/oggparsecelt.o libavformat/oggparsedirac.o libavformat/oggparseflac.o libavformat/oggparseogm.o libavformat/oggparseskeleton.o libavformat/oggparsespeex.o libavformat/oggparsetheora.o libavformat/oggparsevorbis.o libavformat/oma.o libavformat/options.o libavformat/os_support.o libavformat/pcm.o libavformat/pcmdec.o libavformat/pcmenc.o libavformat/pmpdec.o libavformat/psxstr.o libavformat/pva.o libavformat/qcp.o libavformat/r3d.o libavformat/rawdec.o libavformat/rawenc.o libavformat/rawvideodec.o libavformat/rdt.o libavformat/riff.o libavformat/rl2.o libavformat/rm.o libavformat/rmdec.o libavformat/rmenc.o libavformat/rpl.o libavformat/rso.o libavformat/rsodec.o libavformat/rsoenc.o libavformat/rtmppkt.o libavformat/rtmpproto.o libavformat/rtp.o libavformat/rtpdec.o libavformat/rtpdec_amr.o libavformat/rtpdec_asf.o libavformat/rtpdec_h263.o libavformat/rtpdec_h264.o libavformat/rtpdec_latm.o libavformat/rtpdec_mpeg4.o libavformat/rtpdec_qcelp.o libavformat/rtpdec_qdm2.o libavformat/rtpdec_qt.o libavformat/rtpdec_svq3.o libavformat/rtpdec_vp8.o libavformat/rtpdec_xiph.o libavformat/rtpenc.o libavformat/rtpenc_aac.o libavformat/rtpenc_amr.o libavformat/rtpenc_chain.o libavformat/rtpenc_h263.o libavformat/rtpenc_h264.o libavformat/rtpenc_latm.o libavformat/rtpenc_mpv.o libavformat/rtpenc_vp8.o libavformat/rtpenc_xiph.o libavformat/rtpproto.o libavformat/rtsp.o libavformat/rtspdec.o libavformat/rtspenc.o libavformat/sapdec.o libavformat/sapenc.o libavformat/sauce.o libavformat/sdp.o libavformat/seek.o libavformat/segafilm.o libavformat/sierravmd.o libavformat/siff.o libavformat/smacker.o libavformat/sol.o libavformat/soxdec.o libavformat/soxenc.o libavformat/spdif.o libavformat/spdifdec.o libavformat/spdifenc.o libavformat/srtdec.o libavformat/swfdec.o libavformat/swfenc.o libavformat/tcp.o libavformat/thp.o libavformat/tiertexseq.o libavformat/tmv.o libavformat/tta.o libavformat/tty.o libavformat/txd.o libavformat/udp.o libavformat/utils.o libavformat/vc1test.o libavformat/vc1testenc.o libavformat/voc.o libavformat/vocdec.o libavformat/vocenc.o libavformat/vorbiscomment.o libavformat/vqf.o libavformat/wav.o libavformat/wc3movie.o libavformat/westwood.o libavformat/wtv.o libavformat/wtvdec.o libavformat/wv.o libavformat/xa.o libavformat/xwma.o libavformat/yop.o libavformat/yuv4mpeg.o -lavcodec -lavutil -L/usr/local/lib  -lX11 -lXext -lXfixes -lxvidcore -lx264 -lvpx -lvpx -lvorbisenc -lvorbis -logg -lvo-amrwbenc -lvo-aacenc -ltheoraenc -ltheoradec -logg -L/usr/local/lib -lschroedinger-1.0 -L/usr/local/lib -lopencv_core -lopencv_imgproc -lopencv_video -lopencv_flann -lopencore-amrwb -lopencore-amrnb -lmp3lame -lgsm -L/usr/local/lib -lfreetype -lfaac -lm -lbz2 -lz -pthread
/usr/local/bin/ld: internal error in override_version, at resolve.cc:61
collect2: ld returned 1 exit status
gmake: *** [libavformat/libavformat.so.1] Error 1
*** Error code 1


# ld -v
GNU gold (GNU Binutils 2.21.52.20110703) 1.11
Comment 14 Ian Lance Taylor 2011-07-04 16:58:52 UTC
OK, if you're still seeing the original crash, then I need you to run the gcc command with the options "-Wl,-debug --save-temps".  That will show you exactly how gcc is invoking gold.  Then I'll need to be able to get a copy of all the input files, including all the libraries.  I don't need the source code, just the .o, .a, .so files that are gold inputs, and also any version script.

Basically, I need it to be the case then I can run gold on my system and see the crash.  Otherwise I won't be able to fix this.  Thanks.
Comment 15 interfaSys sàrl 2011-07-04 17:45:06 UTC
I added "-Wl,-debug --save-temps" to the CFLAGS, but the output on screen was the same.

I've just packed the whole folder, so that we can be sure I've not forgotten anything:
https://sigma.interfasys.net/ffmpeg.bz2

And here are the libs (.so and .a files):
https://sigma.interfasys.net/avlibs.bz2

I'm not sure what you mean by 'version script'?

The FreeBSD Makefile is here:
http://www.freebsd.org/cgi/cvsweb.cgi/ports/multimedia/ffmpeg/Makefile?rev=1.133;content-type=text%2Fplain

Bare with me, I'm not a C programmer ;)


(In reply to comment #14)
> OK, if you're still seeing the original crash, then I need you to run the gcc
> command with the options "-Wl,-debug --save-temps".  That will show you exactly
> how gcc is invoking gold.  Then I'll need to be able to get a copy of all the
> input files, including all the libraries.  I don't need the source code, just
> the .o, .a, .so files that are gold inputs, and also any version script.
> 
> Basically, I need it to be the case then I can run gold on my system and see
> the crash.  Otherwise I won't be able to fix this.  Thanks.
Comment 16 Ian Lance Taylor 2011-07-05 21:00:19 UTC
You should add "-Wl,-debug --save-temps" to the gcc46 command line in comment #13.
Comment 17 Ian Lance Taylor 2011-07-05 21:07:15 UTC
Thanks for sending the directory, but it still doesn't help.  There are many missing libraries:


/home/iant/binutils/gold-dir/ld: error: cannot find -lxvidcore
/home/iant/binutils/gold-dir/ld: error: cannot find -lx264
/home/iant/binutils/gold-dir/ld: error: cannot find -lvpx
/home/iant/binutils/gold-dir/ld: error: cannot find -lvpx
/home/iant/binutils/gold-dir/ld: error: cannot find -lvorbisenc
/home/iant/binutils/gold-dir/ld: error: cannot find -lvorbis
/home/iant/binutils/gold-dir/ld: error: cannot find -logg
/home/iant/binutils/gold-dir/ld: error: cannot find -lvo-amrwbenc
/home/iant/binutils/gold-dir/ld: error: cannot find -lvo-aacenc
/home/iant/binutils/gold-dir/ld: error: cannot find -ltheoraenc
/home/iant/binutils/gold-dir/ld: error: cannot find -ltheoradec
/home/iant/binutils/gold-dir/ld: error: cannot find -logg
/home/iant/binutils/gold-dir/ld: error: cannot find -lschroedinger-1.0
/home/iant/binutils/gold-dir/ld: error: cannot find -lopencv_core
/home/iant/binutils/gold-dir/ld: error: cannot find -lopencv_imgproc
/home/iant/binutils/gold-dir/ld: error: cannot find -lopencv_video
/home/iant/binutils/gold-dir/ld: error: cannot find -lopencv_flann
/home/iant/binutils/gold-dir/ld: error: cannot find -lopencore-amrwb
/home/iant/binutils/gold-dir/ld: error: cannot find -lopencore-amrnb
/home/iant/binutils/gold-dir/ld: error: cannot find -lmp3lame
/home/iant/binutils/gold-dir/ld: error: cannot find -lgsm
/home/iant/binutils/gold-dir/ld: error: cannot find -lfaac
/home/iant/binutils/gold-dir/ld: error: cannot find -lbz2

These libraries are not part of ffmpeg, but they are presumably found on your system.

I know you are doing your best, but you are sending me lots and lots of files that I do not need, and you are not sending me the files that I do need.

If you run the gcc command with the option -Wl,-debug --save-temps, it will show the exact command line being used for the linker.  If you run that exact linker command line with the -t option, it will show you the exact set of files which the linker opens.  I need all those files, and no others.  That will include files which are in directories like /lib, etc.; I need those files too.

I also want to confirm again that you are using the current development sources of gold, as the patch I committed 2011-07-01 fixes a bug which would show exactly this symptom for this kind of input.

Thanks.
Comment 18 interfaSys sàrl 2011-07-05 21:41:45 UTC
I did add it to the CFLAGS as you can see in the archive (all the temp files are there), so the command worked, but there isn't much more info on screen.

I just did another attempt with make.conf 

YASM    libavcodec/x86/vp8dsp.o
gcc46: warning: -pipe ignored because -save-temps specified
gcc46: warning: -pipe ignored because -save-temps specified
In file included from cmdutils.c:32:0:
libavformat/avformat.h:151:1: warning: 'AVMetadata' is deprecated (declared at ./libavutil/dict.h:40) [-Wdeprecated-declarations]
cmdutils.c: In function 'opt_default':
cmdutils.c:347:9: warning: 'av_find_opt' is deprecated (declared at libavutil/opt.h:111) [-Wdeprecated-declarations]
cmdutils.c:354:9: warning: 'av_find_opt' is deprecated (declared at libavutil/opt.h:111) [-Wdeprecated-declarations]
cmdutils.c:361:9: warning: 'av_find_opt' is deprecated (declared at libavutil/opt.h:111) [-Wdeprecated-declarations]
cmdutils.c: In function 'set_context_opts':
cmdutils.c:494:13: warning: 'av_find_opt' is deprecated (declared at libavutil/opt.h:111) [-Wdeprecated-declarations]
LD      libavcodec/libavcodec.so.1
AR      libavcodec/libavcodec.a
LD      libavformat/libavformat.so.1
/usr/local/bin/ld: internal error in override_version, at resolve.cc:61
collect2: ld returned 1 exit status
gmake: *** [libavformat/libavformat.so.1] Error 1


(In reply to comment #16)
> You should add "-Wl,-debug --save-temps" to the gcc46 command line in comment
> #13.
Comment 19 interfaSys sàrl 2011-07-05 21:49:42 UTC
The libs are in comment #15, but I'm going to run the command with the -t option, so that I can hopefully provide you with what you need.

The version was in comment #13:
GNU gold (GNU Binutils 2.21.52.20110703) 1.11

Since the current snapshots create broken binaries, I always download the latest to test with, so today it's
GNU gold (GNU Binutils 2.21.52.20110705) 1.11

Thank you

(In reply to comment #17)
> Thanks for sending the directory, but it still doesn't help.  There are many
> missing libraries:
...
> 
> These libraries are not part of ffmpeg, but they are presumably found on your
> system.
> 
> I know you are doing your best, but you are sending me lots and lots of files
> that I do not need, and you are not sending me the files that I do need.
> 
> If you run the gcc command with the option -Wl,-debug --save-temps, it will
> show the exact command line being used for the linker.  If you run that exact
> linker command line with the -t option, it will show you the exact set of files
> which the linker opens.  I need all those files, and no others.  That will
> include files which are in directories like /lib, etc.; I need those files too.
> 
> I also want to confirm again that you are using the current development sources
> of gold, as the patch I committed 2011-07-01 fixes a bug which would show
> exactly this symptom for this kind of input.
> 
> Thanks.
Comment 20 interfaSys sàrl 2011-07-05 21:58:26 UTC
And I think I finally read your posts properly...
Here is what I get when I run the gcc command with the recommended options:

Convert string '/usr/local/libexec/gcc46/gcc/x86_64-portbld-freebsd8.2/4.6.2/:/usr/local/libexec/gcc46/gcc/x86_64-portbld-freebsd8.2/4.6.2/:/usr/local/libexec/gcc46/gcc/x86_64-portbld-freebsd8.2/:/usr/local/lib/gcc46/gcc/x86_64-portbld-freebsd8.2/4.6.2/:/usr/local/lib/gcc46/gcc/x86_64-portbld-freebsd8.2/:/usr/local/lib/gcc46/gcc/x86_64-portbld-freebsd8.2/4.6.2/../../../../../x86_64-portbld-freebsd8.2/bin/' into prefixes, separator = ':'
  - add prefix: /usr/local/libexec/gcc46/gcc/x86_64-portbld-freebsd8.2/4.6.2/
  - add prefix: /usr/local/libexec/gcc46/gcc/x86_64-portbld-freebsd8.2/4.6.2/
  - add prefix: /usr/local/libexec/gcc46/gcc/x86_64-portbld-freebsd8.2/
  - add prefix: /usr/local/lib/gcc46/gcc/x86_64-portbld-freebsd8.2/4.6.2/
  - add prefix: /usr/local/lib/gcc46/gcc/x86_64-portbld-freebsd8.2/
  - add prefix: /usr/local/lib/gcc46/gcc/x86_64-portbld-freebsd8.2/4.6.2/../../../../../x86_64-portbld-freebsd8.2/bin/
Convert string '/usr/local/libexec/ccache:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin' into prefixes, separator = ':'
  - add prefix: /usr/local/libexec/ccache/
  - add prefix: /usr/local/sbin/
  - add prefix: /usr/local/bin/
  - add prefix: /sbin/
  - add prefix: /bin/
  - add prefix: /usr/sbin/
  - add prefix: /usr/bin/
Looking for 'gnm'
Looking for 'gnm'
Looking for 'nm'
Looking for 'gstrip'
Looking for 'gstrip'
Looking for 'strip'
Looking for '/usr/local/bin/gcc46'
  - found: absolute path
collect2 version 4.6.2 20110701 (prerelease) (FreeBSD/x86-64 ELF)
ld_file_name        = /usr/local/bin/ld
c_file_name         = /usr/local/bin/gcc46
nm_file_name        = /usr/local/lib/gcc46/gcc/x86_64-portbld-freebsd8.2/4.6.2/../../../../../x86_64-portbld-freebsd8.2/bin/nm
strip_file_name     = /usr/local/lib/gcc46/gcc/x86_64-portbld-freebsd8.2/4.6.2/../../../../../x86_64-portbld-freebsd8.2/bin/strip
c_file              = /var/tmp//cczgZnvl.c
o_file              = /var/tmp//ccbOQdS3.o
COLLECT_GCC_OPTIONS = '-save-temps' '-shared' '-Llibavcodec' '-Llibavdevice' '-Llibavfilter' '-Llibavformat' '-Llibavutil' '-Llibpostproc' '-Llibswscale' '-L/usr/local/lib' '-o' 'libavformat/libavformat.so.1' '-L/usr/local/lib' '-L/usr/local/lib' '-L/usr/local/lib' '-L/usr/local/lib' '-pthread' '-mtune=generic' '-march=x86-64'
COLLECT_GCC         = /usr/local/bin/gcc46
COMPILER_PATH       = /usr/local/libexec/gcc46/gcc/x86_64-portbld-freebsd8.2/4.6.2/:/usr/local/libexec/gcc46/gcc/x86_64-portbld-freebsd8.2/4.6.2/:/usr/local/libexec/gcc46/gcc/x86_64-portbld-freebsd8.2/:/usr/local/lib/gcc46/gcc/x86_64-portbld-freebsd8.2/4.6.2/:/usr/local/lib/gcc46/gcc/x86_64-portbld-freebsd8.2/:/usr/local/lib/gcc46/gcc/x86_64-portbld-freebsd8.2/4.6.2/../../../../../x86_64-portbld-freebsd8.2/bin/
LIBRARY_PATH        = /usr/local/lib/gcc46/gcc/x86_64-portbld-freebsd8.2/4.6.2/:/usr/local/lib/gcc46/gcc/x86_64-portbld-freebsd8.2/4.6.2/../../../../../x86_64-portbld-freebsd8.2/lib/:/usr/local/lib/gcc46/gcc/x86_64-portbld-freebsd8.2/4.6.2/../../../:/lib/:/usr/lib/

/usr/local/bin/ld --eh-frame-hdr -Bshareable -o libavformat/libavformat.so.1 /usr/lib/crti.o /usr/local/lib/gcc46/gcc/x86_64-portbld-freebsd8.2/4.6.2/crtbeginS.o -Llibavcodec -Llibavdevice -Llibavfilter -Llibavformat -Llibavutil -Llibpostproc -Llibswscale -L/usr/local/lib -L/usr/local/lib -L/usr/local/lib -L/usr/local/lib -L/usr/local/lib -L/usr/local/lib/gcc46/gcc/x86_64-portbld-freebsd8.2/4.6.2 -L/usr/local/lib/gcc46/gcc/x86_64-portbld-freebsd8.2/4.6.2/../../../../../x86_64-portbld-freebsd8.2/lib -L/usr/local/lib/gcc46/gcc/x86_64-portbld-freebsd8.2/4.6.2/../../.. -soname libavformat.so.1 -Bsymbolic --version-script libavformat/libavformat.ver --as-needed --warn-common -rpath-link libpostproc -rpath-link libswscale -rpath-link libavfilter -rpath-link libavdevice -rpath-link libavformat -rpath-link libavcodec -rpath-link libavutil libavformat/4xm.o libavformat/a64.o libavformat/aacdec.o libavformat/ac3dec.o libavformat/adtsenc.o libavformat/aea.o libavformat/aiffdec.o libavformat/aiffenc.o libavformat/allformats.o libavformat/amr.o libavformat/anm.o libavformat/apc.o libavformat/ape.o libavformat/apetag.o libavformat/applehttp.o libavformat/applehttpproto.o libavformat/asf.o libavformat/asfcrypt.o libavformat/asfdec.o libavformat/asfenc.o libavformat/assdec.o libavformat/assenc.o libavformat/au.o libavformat/audiointerleave.o libavformat/avc.o libavformat/avi.o libavformat/avidec.o libavformat/avienc.o libavformat/avio.o libavformat/aviobuf.o libavformat/avlanguage.o libavformat/avs.o libavformat/bethsoftvid.o libavformat/bfi.o libavformat/bink.o libavformat/c93.o libavformat/caf.o libavformat/cafdec.o libavformat/cafenc.o libavformat/cavsvideodec.o libavformat/cdg.o libavformat/concat.o libavformat/crcenc.o libavformat/crypto.o libavformat/cutils.o libavformat/daud.o libavformat/dfa.o libavformat/diracdec.o libavformat/dnxhddec.o libavformat/dsicin.o libavformat/dtsdec.o libavformat/dv.o libavformat/dvenc.o libavformat/dxa.o libavformat/eacdata.o libavformat/electronicarts.o libavformat/ffmdec.o libavformat/ffmenc.o libavformat/ffmetadec.o libavformat/ffmetaenc.o libavformat/file.o libavformat/filmstripdec.o libavformat/filmstripenc.o libavformat/flacdec.o libavformat/flacenc.o libavformat/flacenc_header.o libavformat/flic.o libavformat/flvdec.o libavformat/flvenc.o libavformat/framecrcenc.o libavformat/gif.o libavformat/gopher.o libavformat/gxf.o libavformat/gxfenc.o libavformat/h261dec.o libavformat/h263dec.o libavformat/h264dec.o libavformat/http.o libavformat/httpauth.o libavformat/id3v1.o libavformat/id3v2.o libavformat/idcin.o libavformat/idroqdec.o libavformat/idroqenc.o libavformat/iff.o libavformat/img2.o libavformat/ingenientdec.o libavformat/ipmovie.o libavformat/isom.o libavformat/iss.o libavformat/iv8.o libavformat/ivfdec.o libavformat/ivfenc.o libavformat/jvdec.o libavformat/lmlm4.o libavformat/lxfdec.o libavformat/m4vdec.o libavformat/matroska.o libavformat/matroskadec.o libavformat/matroskaenc.o libavformat/md5enc.o libavformat/md5proto.o libavformat/metadata.o libavformat/metadata_compat.o libavformat/microdvddec.o libavformat/microdvdenc.o libavformat/mm.o libavformat/mmf.o libavformat/mms.o libavformat/mmsh.o libavformat/mmst.o libavformat/mov.o libavformat/movenc.o libavformat/movenchint.o libavformat/mp3dec.o libavformat/mp3enc.o libavformat/mpc.o libavformat/mpc8.o libavformat/mpeg.o libavformat/mpegenc.o libavformat/mpegts.o libavformat/mpegtsenc.o libavformat/mpegvideodec.o libavformat/mpjpeg.o libavformat/msnwc_tcp.o libavformat/mtv.o libavformat/mvi.o libavformat/mxf.o libavformat/mxfdec.o libavformat/mxfenc.o libavformat/mxg.o libavformat/ncdec.o libavformat/nsvdec.o libavformat/nullenc.o libavformat/nut.o libavformat/nutdec.o libavformat/nutenc.o libavformat/nuv.o libavformat/oggdec.o libavformat/oggenc.o libavformat/oggparsecelt.o libavformat/oggparsedirac.o libavformat/oggparseflac.o libavformat/oggparseogm.o libavformat/oggparseskeleton.o libavformat/oggparsespeex.o libavformat/oggparsetheora.o libavformat/oggparsevorbis.o libavformat/oma.o libavformat/options.o libavformat/os_support.o libavformat/pcm.o libavformat/pcmdec.o libavformat/pcmenc.o libavformat/pmpdec.o libavformat/psxstr.o libavformat/pva.o libavformat/qcp.o libavformat/r3d.o libavformat/rawdec.o libavformat/rawenc.o libavformat/rawvideodec.o libavformat/rdt.o libavformat/riff.o libavformat/rl2.o libavformat/rm.o libavformat/rmdec.o libavformat/rmenc.o libavformat/rpl.o libavformat/rso.o libavformat/rsodec.o libavformat/rsoenc.o libavformat/rtmppkt.o libavformat/rtmpproto.o libavformat/rtp.o libavformat/rtpdec.o libavformat/rtpdec_amr.o libavformat/rtpdec_asf.o libavformat/rtpdec_h263.o libavformat/rtpdec_h264.o libavformat/rtpdec_latm.o libavformat/rtpdec_mpeg4.o libavformat/rtpdec_qcelp.o libavformat/rtpdec_qdm2.o libavformat/rtpdec_qt.o libavformat/rtpdec_svq3.o libavformat/rtpdec_vp8.o libavformat/rtpdec_xiph.o libavformat/rtpenc.o libavformat/rtpenc_aac.o libavformat/rtpenc_amr.o libavformat/rtpenc_chain.o libavformat/rtpenc_h263.o libavformat/rtpenc_h264.o libavformat/rtpenc_latm.o libavformat/rtpenc_mpv.o libavformat/rtpenc_vp8.o libavformat/rtpenc_xiph.o libavformat/rtpproto.o libavformat/rtsp.o libavformat/rtspdec.o libavformat/rtspenc.o libavformat/sapdec.o libavformat/sapenc.o libavformat/sauce.o libavformat/sdp.o libavformat/seek.o libavformat/segafilm.o libavformat/sierravmd.o libavformat/siff.o libavformat/smacker.o libavformat/sol.o libavformat/soxdec.o libavformat/soxenc.o libavformat/spdif.o libavformat/spdifdec.o libavformat/spdifenc.o libavformat/srtdec.o libavformat/swfdec.o libavformat/swfenc.o libavformat/tcp.o libavformat/thp.o libavformat/tiertexseq.o libavformat/tmv.o libavformat/tta.o libavformat/tty.o libavformat/txd.o libavformat/udp.o libavformat/utils.o libavformat/vc1test.o libavformat/vc1testenc.o libavformat/voc.o libavformat/vocdec.o libavformat/vocenc.o libavformat/vorbiscomment.o libavformat/vqf.o libavformat/wav.o libavformat/wc3movie.o libavformat/westwood.o libavformat/wtv.o libavformat/wtvdec.o libavformat/wv.o libavformat/xa.o libavformat/xwma.o libavformat/yop.o libavformat/yuv4mpeg.o -lavcodec -lavutil -lX11 -lXext -lXfixes -lxvidcore -lx264 -lvpx -lvpx -lvorbisenc -lvorbis -logg -lvo-amrwbenc -lvo-aacenc -ltheoraenc -ltheoradec -logg -lschroedinger-1.0 -lopencv_core -lopencv_imgproc -lopencv_video -lopencv_flann -lopencore-amrwb -lopencore-amrnb -lmp3lame -lgsm -lfreetype -lfaac -lm -lbz2 -lz -lgcc --as-needed -lgcc_s --no-as-needed -lpthread -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/local/lib/gcc46/gcc/x86_64-portbld-freebsd8.2/4.6.2/crtendS.o /usr/lib/crtn.o
/usr/local/bin/ld: internal error in override_version, at resolve.cc:61
Comment 21 interfaSys sàrl 2011-07-05 22:33:27 UTC
OK, so the libs are here:
https://sigma.interfasys.net/avlibs.bz2

And the objects here:
http://sigma.interfasys.net/libavformat.bz2

Here is the list of files:

libavformat/4xm.o
libavformat/a64.o
libavformat/aacdec.o
libavformat/ac3dec.o
libavformat/adtsenc.o
libavformat/aea.o
libavformat/aiffdec.o
libavformat/aiffenc.o
libavformat/allformats.o
libavformat/amr.o
libavformat/anm.o
libavformat/apc.o
libavformat/ape.o
libavformat/apetag.o
libavformat/applehttp.o
libavformat/applehttpproto.o
libavformat/asf.o
libavformat/asfcrypt.o
libavformat/asfdec.o
libavformat/asfenc.o
libavformat/assdec.o
libavformat/assenc.o
libavformat/au.o
libavformat/audiointerleave.o
libavformat/avc.o
libavformat/avi.o
libavformat/avidec.o
libavformat/avienc.o
libavformat/avio.o
libavformat/aviobuf.o
libavformat/avlanguage.o
libavformat/avs.o
libavformat/bethsoftvid.o
libavformat/bfi.o
libavformat/bink.o
libavformat/c93.o
libavformat/caf.o
libavformat/cafdec.o
libavformat/cafenc.o
libavformat/cavsvideodec.o
libavformat/cdg.o
libavformat/concat.o
libavformat/crcenc.o
libavformat/crypto.o
libavformat/cutils.o
libavformat/daud.o
libavformat/dfa.o
libavformat/diracdec.o
libavformat/dnxhddec.o
libavformat/dsicin.o
libavformat/dtsdec.o
libavformat/dv.o
libavformat/dvenc.o
libavformat/dxa.o
libavformat/eacdata.o
libavformat/electronicarts.o
libavformat/ffmdec.o
libavformat/ffmenc.o
libavformat/ffmetadec.o
libavformat/ffmetaenc.o
libavformat/file.o
libavformat/filmstripdec.o
libavformat/filmstripenc.o
libavformat/flacdec.o
libavformat/flacenc.o
libavformat/flacenc_header.o
libavformat/flic.o
libavformat/flvdec.o
libavformat/flvenc.o
libavformat/framecrcenc.o
libavformat/gif.o
libavformat/gopher.o
libavformat/gxf.o
libavformat/gxfenc.o
libavformat/h261dec.o
libavformat/h263dec.o
libavformat/h264dec.o
libavformat/http.o
libavformat/httpauth.o
libavformat/id3v1.o
libavformat/id3v2.o
libavformat/idcin.o
libavformat/idroqdec.o
libavformat/idroqenc.o
libavformat/iff.o
libavformat/img2.o
libavformat/ingenientdec.o
libavformat/ipmovie.o
libavformat/isom.o
libavformat/iss.o
libavformat/iv8.o
libavformat/ivfdec.o
libavformat/ivfenc.o
libavformat/jvdec.o
libavformat/lmlm4.o
libavformat/lxfdec.o
libavformat/m4vdec.o
libavformat/matroska.o
libavformat/matroskadec.o
libavformat/matroskaenc.o
libavformat/md5enc.o
libavformat/md5proto.o
libavformat/metadata.o
libavformat/metadata_compat.o
libavformat/microdvddec.o
libavformat/microdvdenc.o
libavformat/mm.o
libavformat/mmf.o
libavformat/mms.o
libavformat/mmsh.o
libavformat/mmst.o
libavformat/mov.o
libavformat/movenc.o
libavformat/movenchint.o
libavformat/mp3dec.o
libavformat/mp3enc.o
libavformat/mpc.o
libavformat/mpc8.o
libavformat/mpeg.o
libavformat/mpegenc.o
libavformat/mpegts.o
libavformat/mpegtsenc.o
libavformat/mpegvideodec.o
libavformat/mpjpeg.o
libavformat/msnwc_tcp.o
libavformat/mtv.o
libavformat/mvi.o
libavformat/mxf.o
libavformat/mxfdec.o
libavformat/mxfenc.o
libavformat/mxg.o
libavformat/ncdec.o
libavformat/nsvdec.o
libavformat/nullenc.o
libavformat/nut.o
libavformat/nutdec.o
libavformat/nutenc.o
libavformat/nuv.o
libavformat/oggdec.o
libavformat/oggenc.o
libavformat/oggparsecelt.o
libavformat/oggparsedirac.o
libavformat/oggparseflac.o
libavformat/oggparseogm.o
libavformat/oggparseskeleton.o
libavformat/oggparsespeex.o
libavformat/oggparsetheora.o
libavformat/oggparsevorbis.o
libavformat/oma.o
libavformat/options.o
libavformat/os_support.o
libavformat/pcm.o
libavformat/pcmdec.o
libavformat/pcmenc.o
libavformat/pmpdec.o
libavformat/psxstr.o
libavformat/pva.o
libavformat/qcp.o
libavformat/r3d.o
libavformat/rawdec.o
libavformat/rawenc.o
libavformat/rawvideodec.o
libavformat/rdt.o
libavformat/riff.o
libavformat/rl2.o
libavformat/rm.o
libavformat/rmdec.o
libavformat/rmenc.o
libavformat/rpl.o
libavformat/rso.o
libavformat/rsodec.o
libavformat/rsoenc.o
libavformat/rtmppkt.o
libavformat/rtmpproto.o
libavformat/rtp.o
libavformat/rtpdec.o
libavformat/rtpdec_amr.o
libavformat/rtpdec_asf.o
libavformat/rtpdec_h263.o
libavformat/rtpdec_h264.o
libavformat/rtpdec_latm.o
libavformat/rtpdec_mpeg4.o
libavformat/rtpdec_qcelp.o
libavformat/rtpdec_qdm2.o
libavformat/rtpdec_qt.o
libavformat/rtpdec_svq3.o
libavformat/rtpdec_vp8.o
libavformat/rtpdec_xiph.o
libavformat/rtpenc.o
libavformat/rtpenc_aac.o
libavformat/rtpenc_amr.o
libavformat/rtpenc_chain.o
libavformat/rtpenc_h263.o
libavformat/rtpenc_h264.o
libavformat/rtpenc_latm.o
libavformat/rtpenc_mpv.o
libavformat/rtpenc_vp8.o
libavformat/rtpenc_xiph.o
libavformat/rtpproto.o
libavformat/rtsp.o
libavformat/rtspdec.o
libavformat/rtspenc.o
libavformat/sapdec.o
libavformat/sapenc.o
libavformat/sauce.o
libavformat/sdp.o
libavformat/seek.o
libavformat/segafilm.o
libavformat/sierravmd.o
libavformat/siff.o
libavformat/smacker.o
libavformat/sol.o
libavformat/soxdec.o
libavformat/soxenc.o
libavformat/spdif.o
libavformat/spdifdec.o
libavformat/spdifenc.o
libavformat/srtdec.o
libavformat/swfdec.o
libavformat/swfenc.o
libavformat/tcp.o
libavformat/thp.o
libavformat/tiertexseq.o
libavformat/tmv.o
libavformat/tta.o
libavformat/tty.o
libavformat/txd.o
libavformat/udp.o
libavformat/utils.o
libavformat/vc1test.o
libavformat/vc1testenc.o
libavformat/voc.o
libavformat/vocdec.o
libavformat/vocenc.o
libavformat/vorbiscomment.o
libavformat/vqf.o
libavformat/wav.o
libavformat/wc3movie.o
libavformat/westwood.o
libavformat/wtv.o
libavformat/wtvdec.o
libavformat/wv.o
libavformat/xa.o
libavformat/xwma.o
libavformat/yop.o
libavformat/yuv4mpeg.o

libavcodec/libavcodec.so

libavutil/libavutil.so

/usr/local/lib/libX11.so
/usr/local/lib/libXext.so
/usr/local/lib/libXfixes.so
/usr/local/lib/libxvidcore.so
/usr/local/lib/libx264.so
/usr/local/lib/libvpx.so
/usr/local/lib/libvpx.so
/usr/local/lib/libvorbisenc.so
/usr/local/lib/libvorbis.so
/usr/local/lib/libogg.so
/usr/local/lib/libvo-amrwbenc.so
/usr/local/lib/libvo-aacenc.so
/usr/local/lib/libtheoraenc.so
/usr/local/lib/libtheoradec.so
/usr/local/lib/libogg.so
/usr/local/lib/libschroedinger-1.0.so
/usr/local/lib/libopencv_core.so
/usr/local/lib/libopencv_imgproc.so
/usr/local/lib/libopencv_video.so
/usr/local/lib/libopencv_flann.so
/usr/local/lib/libopencore-amrwb.so
/usr/local/lib/libopencore-amrnb.so
/usr/local/lib/libmp3lame.so
/usr/local/lib/libgsm.so
/usr/local/lib/libfreetype.so
/usr/local/lib/libfaac.so
/usr/local/lib/libz.so

/usr/local/lib/gcc46/gcc/x86_64-portbld-freebsd8.2/4.6.2/../../../libgcc_s.so
/usr/local/lib/gcc46/gcc/x86_64-portbld-freebsd8.2/4.6.2/crtendS.o
/usr/local/lib/gcc46/gcc/x86_64-portbld-freebsd8.2/4.6.2/crtbeginS.o

/usr/lib/crtn.o
/usr/lib/libpthread.so
/usr/lib/libc.so
/usr/lib/libm.so
/usr/lib/libbz2.so
/usr/lib/crti.o
Comment 22 Sourceware Commits 2011-07-06 04:43:44 UTC
CVSROOT:	/cvs/src
Module name:	src
Changes by:	ian@sourceware.org	2011-07-06 04:43:40

Modified files:
	gold           : ChangeLog resolve.cc 

Log message:
	PR gold/12952
	* resolve.cc (Symbol::override_base_with_special): Simply override
	version with special symbol version, ignoring previous version.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gold/ChangeLog.diff?cvsroot=src&r1=1.787&r2=1.788
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gold/resolve.cc.diff?cvsroot=src&r1=1.61&r2=1.62
Comment 23 Ian Lance Taylor 2011-07-06 04:46:12 UTC
Thanks for your patience in pulling this test case together.  I have managed to recreate the problem myself, and I've committed a patch which should fix the problem.
Comment 24 interfaSys sàrl 2011-07-06 14:20:42 UTC
Great news :). I'll try it out as soon as it's available via a snapshot and hopefully, this experience will make it easier for me to report issues in the future :)
Comment 25 interfaSys sàrl 2011-07-07 20:31:29 UTC
OK, so this time, I was able to compile ffmpeg. Thank you very much for solving this.

There are two remaining issues with ffmpeg, but I don't think they're related to this bug.
1) The generated binary cannot be used because libraries are not properly linked

2) Adding -flto=6 crashes the compiler during the configuration tests. It works fine with the gnu linker, but maybe that parameter is ignored.
http://sourceware.org/bugzilla/show_bug.cgi?id=12971
Comment 26 interfaSys sàrl 2011-07-09 16:31:17 UTC
I've managed to compile a working binary on FreeBSD by not using portmaster (building tool). I have no idea why portmaster cannot be used to build ffmpeg with gold, but that's one solution for other people encountering the same problem.