[FFmpeg-trac] #2825(undetermined:new): error: unable to find a register to spill in class ‘AREG’

FFmpeg trac at avcodec.org
Tue Jul 30 20:38:08 CEST 2013


#2825: error: unable to find a register to spill in class ‘AREG’
-------------------------------------+-------------------------------------
               Reporter:  burek      |                  Owner:
                   Type:  defect     |                 Status:  new
               Priority:  normal     |              Component:
                Version:             |  undetermined
  unspecified                        |               Keywords:
             Blocked By:             |               Blocking:
Reproduced by developer:  0          |  Analyzed by developer:  0
-------------------------------------+-------------------------------------
 Summary of the bug:

 While trying to build 32bit version of static ffmpeg on 64bit debian
 (3.2.0-2-amd64), the following error occurred:
 {{{
 /root/ffmpeg-static/src/ffmpeg/libavcodec/bitstream.c:348:1: error: unable
 to find a register to spill in class ‘AREG’
 }}}

 I was using the following config:
 (Since the trac reported an error "Warning: Ticket description is too long
 (must be less than 262144 characters)", here is a pastebin:
 http://pastebin.com/NEL7gxRd

 Shortly:
 {{{
 configure --prefix=/root/ffmpeg-static/32bit --arch=x86_32 --extra-
 cflags='-m32 -I/root/ffmpeg-static/32bit/include -static' --extra-
 ldflags='-m32 -L/root/ffmpeg-static/32bit/lib -static' --extra-
 libs='-lxml2 -lexpat -lfreetype' --enable-static --disable-shared
 --disable-ffserver --disable-doc --enable-bzlib --enable-zlib --enable-
 postproc --enable-runtime-cpudetect --enable-libx264 --enable-gpl
 --enable-libtheora --enable-libvorbis --enable-libmp3lame --enable-gray
 --enable-libass --enable-libfreetype --enable-libopenjpeg --enable-
 libspeex --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-version3
 --enable-libvpx
 }}}

 This is what it looked like near the end of the make:
 {{{
 /root/ffmpeg-static/src/ffmpeg/libavcodec/avpacket.c:229:5: warning:
 ‘av_destruct_packet’ is deprecated (declared at /root/ffmpeg-
 static/src/ffmpeg/libavcodec/avpacket.c:41) [-Wdeprecated-declarations]
 /root/ffmpeg-static/src/ffmpeg/libavcodec/avpacket.c: In function
 ‘av_dup_packet’:
 /root/ffmpeg-static/src/ffmpeg/libavcodec/avpacket.c:239:9: warning:
 ‘destruct’ is deprecated (declared at /root/ffmpeg-
 static/src/ffmpeg/libavcodec/avcodec.h:1076) [-Wdeprecated-declarations]
 /root/ffmpeg-static/src/ffmpeg/libavcodec/avpacket.c: In function
 ‘av_free_packet’:
 /root/ffmpeg-static/src/ffmpeg/libavcodec/avpacket.c:262:9: warning:
 ‘destruct’ is deprecated (declared at /root/ffmpeg-
 static/src/ffmpeg/libavcodec/avcodec.h:1076) [-Wdeprecated-declarations]
 /root/ffmpeg-static/src/ffmpeg/libavcodec/avpacket.c:263:13: warning:
 ‘destruct’ is deprecated (declared at /root/ffmpeg-
 static/src/ffmpeg/libavcodec/avcodec.h:1076) [-Wdeprecated-declarations]
 /root/ffmpeg-static/src/ffmpeg/libavcodec/avpacket.c:264:9: warning:
 ‘destruct’ is deprecated (declared at /root/ffmpeg-
 static/src/ffmpeg/libavcodec/avcodec.h:1076) [-Wdeprecated-declarations]
 /root/ffmpeg-static/src/ffmpeg/libavcodec/avpacket.c: In function
 ‘av_packet_merge_side_data’:
 /root/ffmpeg-static/src/ffmpeg/libavcodec/avpacket.c:336:9: warning:
 ‘destruct’ is deprecated (declared at /root/ffmpeg-
 static/src/ffmpeg/libavcodec/avcodec.h:1076) [-Wdeprecated-declarations]
 CC      libavcodec/avrndec.o
 CC      libavcodec/avs.o
 CC      libavcodec/avuidec.o
 CC      libavcodec/avuienc.o
 CC      libavcodec/bethsoftvideo.o
 CC      libavcodec/bfi.o
 CC      libavcodec/bgmc.o
 CC      libavcodec/bink.o
 CC      libavcodec/binkaudio.o
 CC      libavcodec/binkdsp.o
 CC      libavcodec/bintext.o
 CC      libavcodec/bitstream.o
 CC      libavcodec/bitstream_filter.o
 CC      libavcodec/bmp.o
 CC      libavcodec/bmp_parser.o
 /root/ffmpeg-static/src/ffmpeg/libavcodec/bitstream.c: In function
 ‘ff_init_vlc_sparse’:
 /root/ffmpeg-static/src/ffmpeg/libavcodec/bitstream.c:348:1: error: unable
 to find a register to spill in class ‘AREG’
 /root/ffmpeg-static/src/ffmpeg/libavcodec/bitstream.c:348:1: error: this
 is the insn:
 (insn 600 599 601 93 (parallel [
             (set (reg:SI 1 dx [orig:259 D.6937 ] [259])
                 (mem/v:SI (plus:SI (reg/v/f:SI 262 [ vlc ])
                         (const_int 16 [0x10])) [-1 S4 A32]))
             (set (mem/v:SI (plus:SI (reg/v/f:SI 262 [ vlc ])
                         (const_int 16 [0x10])) [-1 S4 A32])
                 (unspec_volatile:SI [
                         (mem/v:SI (plus:SI (reg/v/f:SI 262 [ vlc ])
                                 (const_int 16 [0x10])) [-1 S4 A32])
                         (reg/v/f:SI 262 [ vlc ])
                         (reg/f:SI 1 dx [357])
                     ] UNSPECV_CMPXCHG))
             (set (reg:CCZ 17 flags)
                 (compare:CCZ (unspec_volatile:SI [
                             (mem/v:SI (plus:SI (reg/v/f:SI 262 [ vlc ])
                                     (const_int 16 [0x10])) [-1 S4 A32])
                             (reg/v/f:SI 262 [ vlc ])
                             (reg/f:SI 1 dx [357])
                         ] UNSPECV_CMPXCHG)
                     (reg/v/f:SI 262 [ vlc ])))
         ]) /root/ffmpeg-static/src/ffmpeg/libavutil/atomic_gcc.h:57 2109
 {*sync_compare_and_swapsi}
      (expr_list:REG_DEAD (reg/f:SI 1 dx [357])
         (expr_list:REG_UNUSED (reg:CCZ 17 flags)
             (nil))))
 /root/ffmpeg-static/src/ffmpeg/libavcodec/bitstream.c:348: confused by
 earlier errors, bailing out
 CC      libavcodec/bmpenc.o
 CC      libavcodec/bmv.o
 CC      libavcodec/brender_pix.o
 CC      libavcodec/c93.o
 Preprocessed source stored into /tmp/cc0SPiX2.out file, please attach this
 to your bugreport.
 make: *** [libavcodec/bitstream.o] Error 1
 make: *** Waiting for unfinished jobs....
 }}}

-- 
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/2825>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list