[LLVMdev] MCStreamer.cpp:93 Assertion Failure during link

songlh songlh at cs.wisc.edu
Sun Dec 29 16:12:55 PST 2013


Hi,

   I got an assert error in the link stage when compiling mysql. The tool 
chain I am using is binutils-2.22 and llvm-3.3. The link command during 
compiling is:

clang++ -v -flto -use-gold-plugin -Wl,-plugin-opt=also-emit-llvm -g -O 
-DSAFE_MUTEX -fno-implicit-templates -fno-exceptions -fno-rtti -rdynamic 
-o mysqld sql_lex.o sql_handler.o sql_partition.o item.o item_sum.o 
item_buff.o item_func.o item_cmpfunc.o item_strfunc.o item_timefunc.o 
thr_malloc.o item_create.o item_subselect.o item_row.o item_geofunc.o 
item_xmlfunc.o field.o strfunc.o key.o sql_class.o sql_list.o net_serv.o 
protocol.o sql_state.o lock.o my_lock.o sql_string.o sql_manager.o 
sql_map.o mysqld.o password.o hash_filo.o hostname.o set_var.o 
sql_parse.o sql_yacc.o sql_base.o table.o sql_select.o sql_insert.o 
sql_prepare.o sql_error.o sql_locale.o sql_update.o sql_delete.o 
uniques.o sql_do.o procedure.o sql_test.o log.o log_event.o init.o 
derror.o sql_acl.o unireg.o des_key_file.o discover.o time.o opt_range.o 
opt_sum.o records.o filesort.o handler.o ha_partition.o ha_ndbcluster.o 
ha_ndbcluster_binlog.o sql_db.o sql_table.o sql_rename.o sql_crypt.o 
sql_load.o mf_iocache.o field_conv.o sql_show.o sql_udf.o sql_analyse.o 
sql_cache.o slave.o sql_repl.o rpl_filter.o rpl_tblmap.o rpl_utility.o 
rpl_injector.o rpl_rli.o rpl_mi.o sql_union.o sql_derived.o client.o 
sql_client.o mini_client_errors.o pack.o stacktrace.o repl_failsafe.o 
sql_olap.o sql_view.o gstream.o spatial.o sql_help.o sql_cursor.o 
tztime.o my_time.o my_user.o my_decimal.o sp_head.o sp_pcontext.o 
sp_rcontext.o sp.o sp_cache.o parse_file.o sql_trigger.o 
event_scheduler.o event_data_objects.o event_queue.o 
event_db_repository.o events.o sql_plugin.o sql_binlog.o sql_builtin.o 
sql_tablespace.o partition_info.o sql_servers.o  ../storage/csv/libcsv.a 
../storage/heap/libheap.a ../storage/myisam/libmyisam.a 
../storage/myisammrg/libmyisammrg.a ../vio/libvio.a ../mysys/libmysys.a 
../dbug/libdbug.a ../regex/libregex.a ../strings/libmystrings.a -lz -ldl 
-lpthread -lcrypt -lnsl -lm -lpthread


The actual command causing the error is:

ld -export-dynamic -z relro --hash-style=gnu --build-id --eh-frame-hdr 
-m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o mysqld 
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crt1.o 
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crti.o 
/usr/lib/gcc/x86_64-linux-gnu/4.7/crtbegin.o 
-L/usr/lib/gcc/x86_64-linux-gnu/4.7 
-L/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu 
-L/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib64 
-L/lib/x86_64-linux-gnu -L/lib/../lib64 -L/usr/lib/x86_64-linux-gnu 
-L/usr/lib/../lib64 -L/usr/lib/x86_64-linux-gnu/../../lib64 
-L/usr/lib/gcc/x86_64-linux-gnu/4.7/../../.. -L/lib -L/usr/lib -plugin 
/home/songlh/llvm-tools/llvm-3.3/llvm-install/bin/../lib/LLVMgold.so 
-plugin-opt=mcpu=x86-64 -plugin-opt=also-emit-llvm sql_lex.o 
sql_handler.o sql_partition.o item.o item_sum.o item_buff.o item_func.o 
item_cmpfunc.o item_strfunc.o item_timefunc.o thr_malloc.o item_create.o 
item_subselect.o item_row.o item_geofunc.o item_xmlfunc.o field.o 
strfunc.o key.o sql_class.o sql_list.o net_serv.o protocol.o sql_state.o 
lock.o my_lock.o sql_string.o sql_manager.o sql_map.o mysqld.o 
password.o hash_filo.o hostname.o set_var.o sql_parse.o sql_yacc.o 
sql_base.o table.o sql_select.o sql_insert.o sql_prepare.o sql_error.o 
sql_locale.o sql_update.o sql_delete.o uniques.o sql_do.o procedure.o 
sql_test.o log.o log_event.o init.o derror.o sql_acl.o unireg.o 
des_key_file.o discover.o time.o opt_range.o opt_sum.o records.o 
filesort.o handler.o ha_partition.o ha_ndbcluster.o 
ha_ndbcluster_binlog.o sql_db.o sql_table.o sql_rename.o sql_crypt.o 
sql_load.o mf_iocache.o field_conv.o sql_show.o sql_udf.o sql_analyse.o 
sql_cache.o slave.o sql_repl.o rpl_filter.o rpl_tblmap.o rpl_utility.o 
rpl_injector.o rpl_rli.o rpl_mi.o sql_union.o sql_derived.o client.o 
sql_client.o mini_client_errors.o pack.o stacktrace.o repl_failsafe.o 
sql_olap.o sql_view.o gstream.o spatial.o sql_help.o sql_cursor.o 
tztime.o my_time.o my_user.o my_decimal.o sp_head.o sp_pcontext.o 
sp_rcontext.o sp.o sp_cache.o parse_file.o sql_trigger.o 
event_scheduler.o event_data_objects.o event_queue.o 
event_db_repository.o events.o sql_plugin.o sql_binlog.o sql_builtin.o 
sql_tablespace.o partition_info.o sql_servers.o ../storage/csv/libcsv.a 
../storage/heap/libheap.a ../storage/myisam/libmyisam.a 
../storage/myisammrg/libmyisammrg.a ../vio/libvio.a ../mysys/libmysys.a 
../dbug/libdbug.a ../regex/libregex.a ../strings/libmystrings.a -lz -ldl 
-lpthread -lcrypt -lnsl -lm -lpthread -lstdc++ -lm -lgcc_s -lgcc -lc 
-lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/4.7/crtend.o 
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crtn.o

Error message I got is :

ld: 
/home/songlh/llvm-tools/llvm-3.3/llvm-3.3.src/lib/MC/MCStreamer.cpp:93: 
virtual void llvm::MCStreamer::EmitIntValue(uint64_t, unsigned int, 
unsigned int): Assertion `(isUIntN(8 * Size, Value) || isIntN(8 * Size, 
Value)) && "Invalid size"' failed.
clang: error: unable to execute command: Aborted (core dumped)

Any hints about how to fix this problem?

Thanks a lot!

Best,

Linhai



More information about the llvm-dev mailing list