[FFmpeg-trac] #6516(build system:new): tsan symbols broken are broken with NASM
FFmpeg
trac at avcodec.org
Sat Jul 8 18:33:19 EEST 2017
#6516: tsan symbols broken are broken with NASM
-------------------------------------+-------------------------------------
Reporter: ubitux | Owner:
Type: defect | Status: new
Priority: normal | Component: build
Version: | system
unspecified | Keywords: regression
Blocked By: | tsan
Reproduced by developer: 1 | Blocking:
| Analyzed by developer: 0
-------------------------------------+-------------------------------------
Since the switch from YASM to NASM, thread sanitizer is unusable by
default:
{{{
WARNING: ThreadSanitizer: data race (pid=21662)
Read of size 8 at 0x7b9800003008 by main thread (mutexes: write M1355):
#0 <null> <null> (libtsan.so.0+0x000000030111)
#1 <null> <null> (ffmpeg+0x000000d5481f)
#2 <null> <null> (ffmpeg+0x000000d054e1)
#3 <null> <null> (ffmpeg+0x000000e134d7)
#4 <null> <null> (ffmpeg+0x000000e13ba8)
#5 <null> <null> (ffmpeg+0x000000a1553f)
#6 <null> <null> (ffmpeg+0x000000a1609a)
#7 <null> <null> (ffmpeg+0x00000050e4e4)
#8 <null> <null> (ffmpeg+0x000000510bb5)
#9 <null> <null> (ffmpeg+0x0000004d6d3b)
#10 <null> <null> (libc.so.6+0x000000020439)
}}}
This may be related to the way NASM stores dwarf symbols.
Note: tested only with gcc-tsan.
Note: we probably need to open a ticket on the NASM bugtracker if it's
concluded we didn't mixed up incompatible options in our build system.
Still, I consider this a regression since NASM wasn't the default
previously.
Workaround: use {{{--x86asmexe=yasm}}}.
--
Ticket URL: <https://trac.ffmpeg.org/ticket/6516>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list