endrazine / wcc Goto Github PK
View Code? Open in Web Editor NEWThe Witchcraft Compiler Collection
License: Other
The Witchcraft Compiler Collection
License: Other
Jonathan you mentioned it was possible to use WSH on ARM binaries from x86 Linux in a single process using QEMU, and I think I almost got it, but not quite. Maybe I need an example. Here's where I start:
$ uname -a Linux mmyers-Ubuntu16VM 4.4.0-34-generic #53-Ubuntu SMP Wed Jul 27 16:06:39 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
I test that I can compile and run an ARM Hello World using QEMU user-space emulation:
$ sudo apt-get install qemu qemu-user-static gcc-arm-linux-gnueabi
$ arm-linux-gnueabi-gcc -Wall -o hello helloworld.c
$ qemu-arm-static -L /usr/arm-linux-gnueabi/ hello
hello world!
It seems like I should be able to use wsh-arm on this hello process since they are similar-ish.
$ file hello
hello: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.3, for GNU/Linux 3.2.0, BuildID[sha1]=29f94eddb883c86a6ec58f685c848a560ad64bfb, not stripped
$ file ./wcc/bin/wsh-arm
./wcc/bin/wsh-arm: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /usr/arm-linux-gnueabi/lib/ld-linux.so.3, for GNU/Linux 2.6.32, BuildID[sha1]=2dc627daeba328aa3212f1731f0fec86665cb7bb, not stripped
So I do this and woops!
$ qemu-arm-static -L /usr/arm-linux-gnueabi/ ./wcc/bin/wsh-arm hello
qemu: uncaught target signal 11 (Segmentation fault) - core dumped Segmentation fault (core dumped)
This is probably user error? Thanks again for any clarification you can provide!
Compilation fails on arm systems unless '-masm=intel' is removed from compile flags in Makefile.
This is an x86-only gcc option apparently: http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20140512/105322.html
Also I need to change src/wsh/script.lds
with system version from /usr/lib/ldscripts/armelf_linux_eabi.xc
(and probably change some addresses?), or remove the link script entirely from build flags.
Either way, wsh segfaults once built inside of my arm chroot:
wsh /bin/ls
init
open: Cannot allocate memory
WARNING: No binary loaded in memory. Try loadbin(). For help type help("loadbin").
WARNING: No binary loaded in memory. Try loadbin(). For help type help("loadbin").
ERROR: State not recoverable (131)
ERROR: State not recoverable (131)
ERROR: State not recoverable (131)
ERROR: State not recoverable (131)
ERROR: State not recoverable (131)
ERROR: State not recoverable (131)
ERROR: State not recoverable (131)
ERROR: State not recoverable (131)
ERROR: State not recoverable (131)
ERROR: State not recoverable (131)
> loadbin('/bin/sh')�(����r���r���r���r���r���r���r���r�
ERROR: dlopen() /bin/sh: cannot dynamically load executable
** libifying /bin/sh to //tmp/.wsh-29291/sh (697468 bytes)
qemu-arm-static: /build/qemu-VyWqJ2/qemu-2.8+dfsg/translate-all.c:175: tb_lock: Assertion `!have_tb_lock' failed.
qemu-arm-static: /build/qemu-VyWqJ2/qemu-2.8+dfsg/translate-all.c:175: tb_lock: Assertion `!have_tb_lock' failed.
Segmentation fault (core dumped)
I saw you removed the arm-specific makefile, is arm not supported anymore?
Using openSUSE Tumbleweed, this happens:
cc -W -Wall -Wno-discarded-qualifiers -Wno-int-conversion -Wno-unused-parameter -Wno-unused-function -Wno-unused-result -fpie -pie -fPIC -g3 -ggdb -I../../include -I./include/sflib/ -I./include -I../../include/ -Wno-incompatible-pointer-types -fstack-protector-all -Wl,-z,relro,-z,now -DPACKAGE -DPACKAGE_VERSION -masm=intel -rdynamic -D_FORTIFY_SOURCE=2 -O2 wcc.c -o wcc -lbfd -lelf -lcapstone
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: /usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(compress.o): undefined reference to symbol 'inflateEnd'
/lib64/libz.so.1: error adding symbols: DSO missing from command line
Adding a -lz produces this:
cc -W -Wall -Wno-discarded-qualifiers -Wno-int-conversion -Wno-unused-parameter -Wno-unused-function -Wno-unused-result -fpie -pie -fPIC -g3 -ggdb -I../../include -I./include/sflib/ -I./include -I../../include/ -Wno-incompatible-pointer-types -fstack-protector-all -Wl,-z,relro,-z,now -DPACKAGE -DPACKAGE_VERSION -masm=intel -rdynamic -D_FORTIFY_SOURCE=2 -O2 wcc.c -o wcc -lbfd -lelf -lcapstone -lz
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elflink.o): In function `elf_link_add_object_symbols':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elflink.c:5102: undefined reference to `objalloc_free_block'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elflink.c:5353: undefined reference to `_sch_istable'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elflink.o): In function `bfd_elf_size_dynamic_sections':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elflink.c:6543: undefined reference to `lbasename'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elflink.c:6319: undefined reference to `lbasename'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elflink.o): In function `elf_output_implib':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elflink.c:11427: undefined reference to `xmalloc'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(pei-x86_64.o): In function `pex64_bfd_print_pdata_section':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/pei-x86_64.c:531: undefined reference to `xmalloc'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/pei-x86_64.c:607: undefined reference to `xmalloc'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elf32-arm.o): In function `add_unwind_table_edit':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elf32-arm.c:12604: undefined reference to `xmalloc'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elf32-arm.c:12604: undefined reference to `xmalloc'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elf32-arm.o):/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elf32-arm.c:5901: more undefined references to `xmalloc' follow
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(xcofflink.o): In function `xcoff_archive_info_hash':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/xcofflink.c:496: undefined reference to `htab_hash_pointer'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(xcofflink.o): In function `_bfd_xcoff_bfd_link_hash_table_free':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/xcofflink.c:583: undefined reference to `htab_delete'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(xcofflink.o): In function `xcoff_get_archive_info':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/xcofflink.c:521: undefined reference to `htab_find_slot'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(xcofflink.o): In function `xcoff_set_import_path':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/xcofflink.c:757: undefined reference to `filename_cmp'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/xcofflink.c:758: undefined reference to `filename_cmp'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/xcofflink.c:759: undefined reference to `filename_cmp'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(xcofflink.o): In function `_bfd_xcoff_bfd_link_hash_table_create':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/xcofflink.c:608: undefined reference to `htab_create'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(xcofflink.o): In function `bfd_xcoff_split_import_path':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/xcofflink.c:690: undefined reference to `lbasename'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elf64-ppc.o): In function `ppc64_elf_link_hash_table_free':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elf64-ppc.c:4334: undefined reference to `htab_delete'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elf64-ppc.o): In function `ppc64_elf_link_hash_table_create':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elf64-ppc.c:4377: undefined reference to `htab_try_create'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elf64-ppc.o): In function `tocsave_find':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elf64-ppc.c:7543: undefined reference to `htab_find_slot_with_hash'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(bfd.o): In function `bfd_errmsg':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/bfd.c:575: undefined reference to `xstrerror'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(bfd.o): In function `_bfd_doprnt':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/bfd.c:704: undefined reference to `_sch_istable'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/bfd.c:732: undefined reference to `_sch_istable'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(bfd.o): In function `_bfd_doprnt_scan':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/bfd.c:958: undefined reference to `_sch_istable'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/bfd.c:986: undefined reference to `_sch_istable'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/bfd.c:1011: undefined reference to `_sch_istable'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(bfd.o):/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/bfd.c:974: more undefined references to `_sch_istable' follow
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(bfd.o): In function `bfd_demangle':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/bfd.c:2260: undefined reference to `cplus_demangle'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/bfd.c:2260: undefined reference to `cplus_demangle'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(hash.o): In function `bfd_hash_table_free':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/hash.c:426: undefined reference to `objalloc_free'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(hash.o): In function `bfd_hash_table_init_n':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/hash.c:385: undefined reference to `objalloc_create'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/hash.c:392: undefined reference to `_objalloc_alloc'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(hash.o): In function `bfd_hash_insert':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/hash.c:535: undefined reference to `_objalloc_alloc'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(hash.o): In function `bfd_hash_lookup':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/hash.c:485: undefined reference to `_objalloc_alloc'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(hash.o): In function `bfd_hash_allocate':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/hash.c:622: undefined reference to `_objalloc_alloc'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(opncls.o): In function `_bfd_delete_bfd':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/opncls.c:126: undefined reference to `objalloc_free'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(opncls.o): In function `find_separate_debug_file':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/opncls.c:1459: undefined reference to `lrealpath'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(opncls.o): In function `_bfd_new_bfd':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/opncls.c:74: undefined reference to `objalloc_create'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(opncls.o): In function `_bfd_free_cached_info':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/opncls.c:143: undefined reference to `objalloc_free'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(opncls.o): In function `bfd_fopen':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/opncls.c:234: undefined reference to `xstrdup'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(opncls.o): In function `bfd_openstreamr':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/opncls.c:401: undefined reference to `xstrdup'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(opncls.o): In function `bfd_openw':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/opncls.c:664: undefined reference to `xstrdup'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(opncls.o): In function `bfd_create':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/opncls.c:804: undefined reference to `xstrdup'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(opncls.o): In function `bfd_alloc':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/opncls.c:949: undefined reference to `_objalloc_alloc'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(opncls.o): In function `bfd_openr_iovec':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/opncls.c:597: undefined reference to `xstrdup'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(opncls.o): In function `bfd_create_gnu_debuglink_section':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/opncls.c:1667: undefined reference to `lbasename'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(opncls.o): In function `bfd_fill_in_gnu_debuglink_section':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/opncls.c:1761: undefined reference to `lbasename'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(opncls.o): In function `bfd_release':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/opncls.c:1043: undefined reference to `objalloc_free_block'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(syms.o): In function `bfd_decode_symclass':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/syms.c:709: undefined reference to `_sch_toupper'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(syms.o): In function `_bfd_stab_section_find_nearest_line':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/syms.c:1395: undefined reference to `filename_ncmp'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/syms.c:1396: undefined reference to `filename_cmp'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(binary.o): In function `mangle_name':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/binary.c:139: undefined reference to `_sch_istable'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(ihex.o): In function `ihex_bad_byte':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/ihex.c:221: undefined reference to `_sch_istable'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(ihex.o): In function `ihex_object_p':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/ihex.c:509: undefined reference to `_hex_value'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(ihex.o): In function `ihex_init':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/ihex.c:168: undefined reference to `hex_init'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(ihex.o): In function `ihex_read_section':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/ihex.c:578: undefined reference to `_hex_value'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(srec.o): In function `srec_init':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/srec.c:186: undefined reference to `hex_init'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(srec.o): In function `srec_read_section':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/srec.c:748: undefined reference to `_hex_value'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(srec.o): In function `srec_bad_byte':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/srec.c:251: undefined reference to `_sch_istable'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(srec.o): In function `srec_scan':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/srec.c:469: undefined reference to `_hex_value'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/srec.c:373: undefined reference to `_sch_istable'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/srec.c:387: undefined reference to `_hex_value'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(srec.o): In function `srec_object_p':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/srec.c:661: undefined reference to `_hex_value'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(srec.o): In function `srec_init':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/srec.c:186: undefined reference to `hex_init'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/srec.c:186: undefined reference to `hex_init'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(tekhex.o): In function `getvalue':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/tekhex.c:279: undefined reference to `_hex_value'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(tekhex.o): In function `getsym':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/tekhex.c:304: undefined reference to `_hex_value'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(tekhex.o): In function `first_phase':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/tekhex.c:377: undefined reference to `_hex_value'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(tekhex.o): In function `tekhex_init':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/tekhex.c:213: undefined reference to `hex_init'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(tekhex.o): In function `pass_over':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/tekhex.c:540: undefined reference to `_hex_value'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(tekhex.o): In function `tekhex_object_p':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/tekhex.c:614: undefined reference to `_hex_value'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(verilog.o): In function `verilog_init':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/verilog.c:269: undefined reference to `hex_init'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elf64-x86-64.o): In function `elf_x86_64_output_arch_local_syms':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elf64-x86-64.c:4464: undefined reference to `htab_traverse'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elfxx-x86.o): In function `elf_x86_link_hash_table_free':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-x86.c:726: undefined reference to `htab_delete'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-x86.c:728: undefined reference to `objalloc_free'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elfxx-x86.o): In function `_bfd_elf_x86_get_local_sym_hash':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-x86.c:614: undefined reference to `htab_find_slot_with_hash'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-x86.c:627: undefined reference to `_objalloc_alloc'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elfxx-x86.o): In function `_bfd_x86_elf_link_hash_table_create':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-x86.c:811: undefined reference to `htab_try_create'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-x86.c:815: undefined reference to `objalloc_create'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elfxx-x86.o): In function `_bfd_x86_elf_size_dynamic_sections':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-x86.c:1043: undefined reference to `htab_traverse'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elf64.o): In function `_bfd_elf64_bfd_from_remote_memory':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfcode.h:1855: undefined reference to `xstrdup'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elf.o): In function `_bfd_elf_is_local_label_name':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elf.c:8634: undefined reference to `_sch_istable'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elf-eh-frame.o): In function `cie_compute_hash':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elf-eh-frame.c:261: undefined reference to `iterative_hash'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elf-eh-frame.c:262: undefined reference to `iterative_hash'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elf-eh-frame.c:263: undefined reference to `iterative_hash'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elf-eh-frame.c:264: undefined reference to `iterative_hash'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elf-eh-frame.c:265: undefined reference to `iterative_hash'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elf-eh-frame.o):/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elf-eh-frame.c:266: more undefined references to `iterative_hash' follow
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elf-eh-frame.o): In function `find_merged_cie':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elf-eh-frame.c:1301: undefined reference to `htab_find_slot_with_hash'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elf-eh-frame.c:1297: undefined reference to `htab_try_create'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elf-eh-frame.o): In function `_bfd_elf_discard_section_eh_frame_hdr':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elf-eh-frame.c:1624: undefined reference to `htab_delete'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elf32-i386.o): In function `elf_i386_output_arch_local_syms':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elf32-i386.c:4121: undefined reference to `htab_traverse'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elf32.o): In function `_bfd_elf32_bfd_from_remote_memory':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfcode.h:1855: undefined reference to `xstrdup'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(aout32.o): In function `aout_link_write_symbols':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/aoutx.h:5206: undefined reference to `_sch_istable'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(peigen.o): In function `_bfd_pei_write_codeview_record':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/peigen.c:1210: undefined reference to `xmalloc'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(cofflink.o): In function `coff_link_add_symbols':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/cofflink.c:534: undefined reference to `_sch_istable'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(pex64igen.o): In function `_bfd_pex64i_write_codeview_record':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/pex64igen.c:1210: undefined reference to `xmalloc'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elf64-aarch64.o): In function `elf64_aarch64_link_hash_table_free':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfnn-aarch64.c:2558: undefined reference to `htab_delete'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfnn-aarch64.c:2560: undefined reference to `objalloc_free'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elf64-aarch64.o): In function `elf64_aarch64_link_hash_table_create':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfnn-aarch64.c:2598: undefined reference to `htab_try_create'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfnn-aarch64.c:2602: undefined reference to `objalloc_create'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elf64-aarch64.o): In function `elf64_aarch64_finish_dynamic_sections':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfnn-aarch64.c:9218: undefined reference to `htab_traverse'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elf64-aarch64.o): In function `elf64_aarch64_get_local_sym_hash':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfnn-aarch64.c:2467: undefined reference to `htab_find_slot_with_hash'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfnn-aarch64.c:2480: undefined reference to `_objalloc_alloc'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elf64-aarch64.o): In function `elf64_aarch64_size_dynamic_sections':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfnn-aarch64.c:8479: undefined reference to `htab_traverse'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfnn-aarch64.c:8484: undefined reference to `htab_traverse'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elf32-aarch64.o): In function `elf32_aarch64_link_hash_table_free':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfnn-aarch64.c:2558: undefined reference to `htab_delete'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfnn-aarch64.c:2560: undefined reference to `objalloc_free'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elf32-aarch64.o): In function `elf32_aarch64_link_hash_table_create':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfnn-aarch64.c:2598: undefined reference to `htab_try_create'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfnn-aarch64.c:2602: undefined reference to `objalloc_create'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elf32-aarch64.o): In function `elf32_aarch64_finish_dynamic_sections':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfnn-aarch64.c:9218: undefined reference to `htab_traverse'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elf32-aarch64.o): In function `elf32_aarch64_get_local_sym_hash':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfnn-aarch64.c:2467: undefined reference to `htab_find_slot_with_hash'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfnn-aarch64.c:2480: undefined reference to `_objalloc_alloc'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elf32-aarch64.o): In function `elf32_aarch64_size_dynamic_sections':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfnn-aarch64.c:8479: undefined reference to `htab_traverse'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfnn-aarch64.c:8484: undefined reference to `htab_traverse'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(ecofflink.o): In function `add_file_shuffle':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/ecofflink.c:407: undefined reference to `_objalloc_alloc'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(ecofflink.o): In function `add_memory_shuffle':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/ecofflink.c:440: undefined reference to `_objalloc_alloc'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(ecofflink.o): In function `bfd_ecoff_debug_init':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/ecofflink.c:509: undefined reference to `objalloc_create'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(ecofflink.o): In function `bfd_ecoff_debug_free':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/ecofflink.c:535: undefined reference to `objalloc_free'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(ecofflink.o): In function `bfd_ecoff_debug_accumulate':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/ecofflink.c:637: undefined reference to `_objalloc_alloc'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/ecofflink.c:776: undefined reference to `_objalloc_alloc'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/ecofflink.c:738: undefined reference to `_objalloc_alloc'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/ecofflink.c:961: undefined reference to `_objalloc_alloc'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/ecofflink.c:985: undefined reference to `_objalloc_alloc'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(ecofflink.o):/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/ecofflink.c:1158: more undefined references to `_objalloc_alloc' follow
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elf64-hppa.o): In function `elf64_hppa_finalize_opd':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elf64-hppa.c:2206: undefined reference to `concat'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elf64-hppa.o): In function `allocate_global_data_opd':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elf64-hppa.c:1096: undefined reference to `concat'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elf64-ia64.o): In function `elf64_ia64_dyn_sym_traverse':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/elf64-ia64.c:1535: undefined reference to `htab_traverse'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elf64-ia64.o): In function `elf64_ia64_link_hash_table_free':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/elf64-ia64.c:1432: undefined reference to `htab_traverse'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/elf64-ia64.c:1434: undefined reference to `htab_delete'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/elf64-ia64.c:1437: undefined reference to `objalloc_free'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elf64-ia64.o): In function `elf64_ia64_hash_table_create':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/elf64-ia64.c:1465: undefined reference to `htab_try_create'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/elf64-ia64.c:1467: undefined reference to `objalloc_create'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elf64-ia64.o): In function `get_local_sym_hash':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/elf64-ia64.c:1593: undefined reference to `htab_find_slot_with_hash'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/elf64-ia64.c:1603: undefined reference to `_objalloc_alloc'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(pepigen.o): In function `_bfd_pepi_write_codeview_record':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/pepigen.c:1210: undefined reference to `xmalloc'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elf32-m68k.o): In function `elf_m68k_clear_got':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elf32-m68k.c:1369: undefined reference to `htab_delete'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elf32-m68k.o): In function `elf_m68k_finalize_got_offsets':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elf32-m68k.c:2170: undefined reference to `htab_traverse'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elf32-m68k.o): In function `elf_m68k_link_hash_table_free':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elf32-m68k.c:958: undefined reference to `htab_delete'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elf32-m68k.o): In function `elf_m68k_get_bfd2got_entry':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elf32-m68k.c:1749: undefined reference to `htab_find_slot'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elf32-m68k.c:1738: undefined reference to `htab_try_create'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elf32-m68k.c:1749: undefined reference to `htab_find_slot'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elf32-m68k.o): In function `elf_m68k_get_got_entry':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elf32-m68k.c:1518: undefined reference to `htab_find_slot'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elf32-m68k.c:1506: undefined reference to `htab_try_create'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elf32-m68k.c:1518: undefined reference to `htab_find_slot'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elf32-m68k.o): In function `elf_m68k_partition_multi_got':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elf32-m68k.c:2394: undefined reference to `htab_traverse'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elf32-m68k.o): In function `elf_m68k_can_merge_gots':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elf32-m68k.c:1886: undefined reference to `htab_traverse_noresize'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elf32-m68k.o): In function `elf_m68k_clear_got':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elf32-m68k.c:1369: undefined reference to `htab_delete'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elf32-m68k.c:1369: undefined reference to `htab_delete'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elf32-m68k.c:1369: undefined reference to `htab_delete'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elf32-m68k.o): In function `elf_m68k_merge_gots':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elf32-m68k.c:1960: undefined reference to `htab_traverse_noresize'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elfxx-mips.o): In function `mips_elf_create_got_info':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-mips.c:3129: undefined reference to `htab_try_create'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-mips.c:3134: undefined reference to `htab_try_create'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elfxx-mips.o): In function `mips_elf_add_got_page_entry':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-mips.c:4539: undefined reference to `htab_find_slot'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elfxx-mips.o): In function `mips_elf_resolve_final_got_entries':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-mips.c:4401: undefined reference to `htab_traverse'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-mips.c:4405: undefined reference to `htab_size'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-mips.c:4405: undefined reference to `htab_create'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-mips.c:4411: undefined reference to `htab_traverse'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-mips.c:4415: undefined reference to `htab_delete'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-mips.c:4418: undefined reference to `htab_try_create'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-mips.c:4425: undefined reference to `htab_traverse'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elfxx-mips.o): In function `mips_elf_create_local_got_entry':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-mips.c:3732: undefined reference to `htab_find'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-mips.c:3744: undefined reference to `htab_find_slot'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elfxx-mips.o): In function `mips_elf_add_got_entry':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-mips.c:4513: undefined reference to `htab_find_slot'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elfxx-mips.o): In function `mips_elf_recreate_got':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-mips.c:4181: undefined reference to `htab_find_slot'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elfxx-mips.o): In function `mips_elf_record_got_page_entry':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-mips.c:4227: undefined reference to `htab_find_slot'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elfxx-mips.o): In function `mips_elf_record_got_entry':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-mips.c:3926: undefined reference to `htab_find_slot'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elfxx-mips.o):/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-mips.c:3949: more undefined references to `htab_find_slot' follow
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elfxx-mips.o): In function `mips_elf_replace_bfd_got':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-mips.c:3172: undefined reference to `htab_delete'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-mips.c:3173: undefined reference to `htab_delete'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-mips.c:3175: undefined reference to `htab_delete'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elfxx-mips.o): In function `mips_elf_merge_got_with':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-mips.c:4592: undefined reference to `htab_traverse'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-mips.c:4596: undefined reference to `htab_traverse'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elfxx-mips.o): In function `mips_elf_create_stub_symbol':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-mips.c:1591: undefined reference to `concat'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elfxx-mips.o): In function `mips_elf_create_shadow_symbol':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-mips.c:1633: undefined reference to `concat'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elfxx-mips.o): In function `mips_elf_add_la25_stub':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-mips.c:1946: undefined reference to `htab_find_slot'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elfxx-mips.o): In function `mips_elf_add_la25_intro':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-mips.c:1859: undefined reference to `htab_elements'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elfxx-mips.o): In function `_bfd_mips_elf_init_stubs':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-mips.c:1790: undefined reference to `htab_try_create'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elfxx-mips.o): In function `mips_elf_record_got_page_ref':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-mips.c:4060: undefined reference to `htab_find_slot'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-mips.c:4080: undefined reference to `htab_find_slot'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elfxx-mips.o): In function `mips_elf_lay_out_got':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-mips.c:9408: undefined reference to `htab_traverse'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elfxx-mips.o): In function `mips_elf_multi_got':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-mips.c:4888: undefined reference to `htab_traverse'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-mips.c:4890: undefined reference to `htab_traverse'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-mips.c:4934: undefined reference to `htab_traverse'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-mips.c:4945: undefined reference to `htab_traverse'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elfxx-mips.o):/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-mips.c:4963: more undefined references to `htab_traverse' follow
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elfxx-mips.o): In function `mips_elf_global_got_index':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-mips.c:3581: undefined reference to `htab_find'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elfxx-mips.o): In function `_bfd_mips_elf_finish_dynamic_symbol':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-mips.c:10906: undefined reference to `htab_find'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elfxx-mips.o): In function `_bfd_mips_elf_final_link':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-mips.c:14246: undefined reference to `htab_traverse'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(ppcboot.o): In function `mangle_name':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/ppcboot.c:263: undefined reference to `_sch_istable'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elf64-riscv.o): In function `riscv_record_pcrel_hi_reloc':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfnn-riscv.c:1604: undefined reference to `htab_find_slot'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elf64-riscv.o): In function `riscv_init_pcrel_relocs':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfnn-riscv.c:1539: undefined reference to `htab_create'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elf64-riscv.o): In function `riscv_resolve_pcrel_lo_relocs':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfnn-riscv.c:1645: undefined reference to `htab_find'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elf64-riscv.o): In function `riscv_free_pcrel_relocs':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfnn-riscv.c:1556: undefined reference to `htab_delete'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elf32-riscv.o): In function `riscv_record_pcrel_hi_reloc':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfnn-riscv.c:1604: undefined reference to `htab_find_slot'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elf32-riscv.o): In function `riscv_init_pcrel_relocs':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfnn-riscv.c:1539: undefined reference to `htab_create'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elf32-riscv.o): In function `riscv_resolve_pcrel_lo_relocs':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfnn-riscv.c:1645: undefined reference to `htab_find'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elf32-riscv.o): In function `riscv_free_pcrel_relocs':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfnn-riscv.c:1556: undefined reference to `htab_delete'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elfxx-sparc.o): In function `_bfd_sparc_elf_link_hash_table_free':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-sparc.c:1117: undefined reference to `htab_delete'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-sparc.c:1119: undefined reference to `objalloc_free'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elfxx-sparc.o): In function `elf_sparc_get_local_sym_hash':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-sparc.c:1080: undefined reference to `htab_find_slot_with_hash'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-sparc.c:1093: undefined reference to `_objalloc_alloc'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elfxx-sparc.o): In function `_bfd_sparc_elf_link_hash_table_create':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-sparc.c:1182: undefined reference to `htab_try_create'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-sparc.c:1186: undefined reference to `objalloc_create'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elfxx-sparc.o): In function `_bfd_sparc_elf_size_dynamic_sections':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-sparc.c:2604: undefined reference to `htab_traverse'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elfxx-sparc.o): In function `_bfd_sparc_elf_finish_dynamic_sections':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elfxx-sparc.c:4873: undefined reference to `htab_traverse'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(mach-o.o): In function `bfd_mach_o_fat_member_init':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/mach-o.c:5249: undefined reference to `xstrdup'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/mach-o.c:5255: undefined reference to `xmalloc'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(mach-o.o): In function `bfd_mach_o_follow_dsym':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/mach-o.c:5734: undefined reference to `lbasename'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(pef.o): In function `bfd_pef_parse_traceback_table':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/pef.c:186: undefined reference to `_sch_istable'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(pef.o): In function `bfd_pef_print_symbol':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/pef.c:222: undefined reference to `xmalloc'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(pef.o): In function `bfd_pef_parse_function_stubs':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/pef.c:830: undefined reference to `_sch_istable'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elf32-spu.o): In function `spu_elf_auto_overlay':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elf32-spu.c:4686: undefined reference to `xexit'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elf32-spu.c:4329: undefined reference to `filename_cmp'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elf32-spu.c:4680: undefined reference to `xexit'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(elf32-spu.o): In function `sort_bfds':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/elf32-spu.c:4097: undefined reference to `filename_cmp'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(plugin.o): In function `try_load_plugin':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/plugin.c:219: undefined reference to `dlopen'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/plugin.c:226: undefined reference to `dlsym'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/plugin.c:222: undefined reference to `dlerror'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(plugin.o): In function `load_plugin':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/plugin.c:338: undefined reference to `concat'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/plugin.c:339: undefined reference to `make_relative_prefix'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/plugin.c:355: undefined reference to `concat'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(archive.o): In function `adjust_relative_path':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/archive.c:1471: undefined reference to `getpwd'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/archive.c:1475: undefined reference to `lrealpath'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/archive.c:1478: undefined reference to `lrealpath'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/archive.c:1492: undefined reference to `filename_ncmp'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(archive.o): In function `_bfd_look_for_bfd_in_cache':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/archive.c:311: undefined reference to `htab_find'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(archive.o): In function `_bfd_add_bfd_to_archive_cache':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/archive.c:372: undefined reference to `htab_find_slot'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/archive.c:361: undefined reference to `htab_create_alloc'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(archive.o): In function `_bfd_generic_read_ar_hdr_mag':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/archive.c:537: undefined reference to `_sch_istable'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(archive.o): In function `_bfd_append_relative_path':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/archive.c:623: undefined reference to `lbasename'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(archive.o): In function `find_nested_archive':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/archive.c:406: undefined reference to `filename_cmp'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/archive.c:416: undefined reference to `filename_cmp'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(archive.o): In function `_bfd_get_elt_at_filepos':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/archive.c:724: undefined reference to `xstrdup'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(archive.o): In function `_bfd_construct_extended_name_table':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/archive.c:1634: undefined reference to `filename_cmp'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(archive.o): In function `normalize':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/archive.c:1432: undefined reference to `lbasename'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(archive.o): In function `_bfd_construct_extended_name_table':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/archive.c:1680: undefined reference to `filename_ncmp'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/archive.c:1680: undefined reference to `filename_ncmp'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/archive.c:1728: undefined reference to `filename_cmp'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(archive.o): In function `normalize':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/archive.c:1432: undefined reference to `lbasename'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/archive.c:1432: undefined reference to `lbasename'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(archive.o): In function `_bfd_bsd44_write_ar_hdr':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/archive.c:1852: undefined reference to `_sch_istable'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(archive.o): In function `normalize':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/archive.c:1432: undefined reference to `lbasename'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(archive.o): In function `bfd_bsd_truncate_arname':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/archive.c:2103: undefined reference to `lbasename'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(archive.o): In function `normalize':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/archive.c:1432: undefined reference to `lbasename'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(archive.o): In function `bfd_gnu_truncate_arname':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/archive.c:2135: undefined reference to `lbasename'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(archive.o): In function `_bfd_archive_close_and_cleanup':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/archive.c:2881: undefined reference to `htab_find_slot'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/archive.c:2885: undefined reference to `htab_clear_slot'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/archive.c:2865: undefined reference to `htab_traverse_noresize'
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/archive.c:2866: undefined reference to `htab_delete'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(archures.o): In function `bfd_default_scan':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/archures.c:1184: undefined reference to `_sch_istable'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(cache.o): In function `bfd_open_file':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/cache.c:649: undefined reference to `unlink_if_ordinary'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(compress.o): In function `bfd_is_section_compressed_with_header':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/compress.c:423: undefined reference to `_sch_istable'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(corefile.o): In function `generic_core_file_matches_executable_p':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/corefile.c:188: undefined reference to `filename_cmp'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/libbfd.a(stabs.o): In function `_bfd_link_section_stabs':
/home/abuild/rpmbuild/BUILD/binutils-2.30/build-dir/bfd/../../bfd/stabs.c:352: undefined reference to `_sch_istable'
collect2: error: ld returned 1 exit status
And then I'm stuck.
Any hints?
Attempting to run wcc on libvivoxsdk.so causes a segfault for me.
Here are the last few lines in debug mode:
--> transforming relocation from section: .gnu.hash at 0x195f39: cmp eax, 0xff inslen:3 argoffset:4294967295
new local sindex:1 addent:43, off:0x10000d478 hasrel:0
[1] 23189 segmentation fault (core dumped) wcc -m i386 -d -s libvivoxsdk.bak -o libvivoxsdk.so
Here's a full log:
https://gist.github.com/no-boot-device/d82e50e52f95e00a71ceb41546c6d20e
And here's the full file:
https://drive.google.com/file/d/0BwgL44rRXZ5SNE5uZl84OHJWaEU/view?usp=sharing
It appears to output a file which file recognizes yet has a different hash, and also has seemingly good section headers, but I'm concerned about it segfaulting. (is this just a Thank you for playing Wing Commander! sort of thing?)
Hi I was just playing with wsh. I got the errors showing below.
wsh /usr/bin/python2.7
[SIGSEGV] Read 000000000017 (address not mapped to object)
000042009ce4 wsh(scan_sections+0x91)
000042009dfd wsh(shdr_callback+0x60)
7f5ff1f8a5a4 /usr/lib/libc.so.6(dl_iterate_phdr+0xf4)
00004200cd41 wsh(reload_elfs+0x2f8)
00004201de40 wsh(main+0x67)
7f5ff1e8c291 /usr/lib/libc.so.6(__libc_start_main+0xf1)
0000420078fa wsh(_start+0x2a)
Segmentation fault
Linux hostname 4.7.2-1-ck #1 SMP PREEMPT Sat Aug 20 14:07:40 EDT 2016 x86_64 GNU/Linux
git clone https://github.com/endrazine/wcc.git
cd wcc
git submodule init
git submodule update
All of these unstated dependencies had to be installed in order to build (Ubuntu 16.04) so it seems worth putting in the readme:
sudo apt-get install clang libbfd-dev uthash-dev libelf-dev libcapstone-dev libreadline6 libreadline6-dev libiberty-dev libgsl-dev
I had to add a line to wcc.c, in order to pull in the definition of a macro called PRIx64:
#include <inttypes.h>
After getting dependencies installed on Ubuntu 14.04 (steps here), make
exits with the following warnings and errors.
The following error appears to be the only blocker:
/home/ubuntu/wcc/src/wcc/wcc.c:2638: undefined reference to 'DL_COUNT'
... which is odd because utlist.h
is included in the file, which should define that macro. Could use some help debugging this! Full make output is below.
in the following void function, i attempt to return early if the string is empty. this caused the compiler to expect the function to end and throw a missing '}' error:
37 void _cdecl printf_tt(char* str, ...)
38 {
39 if (!str[0])
40 return;
41
42 void* argv = &str + sizeof(str); // Use stack manipulation to find arg array
43 // function continues here...
stdio.c(42): Error! E1077: Missing '}'
stdio.c(42): Error! E1011: Symbol 'str' has not been declared`
You should merge my pull request of autotools support. :-)
# wcc -c /bin/ls -s -o ls.so
# wld -libify ls.so
# python3.6
>>> from ctypes import *
>>> cdll.LoadLibrary("ls.so")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.6/ctypes/__init__.py", line 426, in LoadLibrary
return self._dlltype(name)
File "/usr/local/lib/python3.6/ctypes/__init__.py", line 348, in __init__
self._handle = _dlopen(self._name, mode)
OSError: ls.so: ELF file's phentsize not the expected size
Different bug with the other mechanism:
# wcc -c /bin/ls -o ls.o
# gcc -o ls.so ls.o -shared
>>> cdll.LoadLibrary("ls.so")
python3.6: Symbol `stdout' causes overflow in R_X86_64_PC32 relocation
...
python3.6: Symbol `stderr' causes overflow in R_X86_64_PC32 relocation
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.6/ctypes/__init__.py", line 426, in LoadLibrary
return self._dlltype(name)
File "/usr/local/lib/python3.6/ctypes/__init__.py", line 348, in __init__
self._handle = _dlopen(self._name, mode)
OSError: ls.so: undefined symbol: fgetfilecon
>>>
Not specific to ls.so. Run on 4.14.13, with various mods. Happens in a Jessie container, so could be kernel related.
Having had a tool doing exactly the same first time I got stuck with a 3rd part executable being dynamically link to an obsolete libc 10 years ago, I am glad that someone else also recognised this need and actually fixed it.
Ps.
I will fix the linked libraries parsing as relaying on ldd wont do for cross-compilation and such.
Ds.
Thanks for your work on wcc
. I'd been looking for an excuse to try it out and had the opportunity to use it recently.
Hit a couple of issues along the way so thought I'd mention them.
The app[*] I was investigating was C++ based but I discovered that the wsh
C++ symbol demangling functionality appears to have been disabled at some point.
My current understanding is:
Symbols are actually demangled here: https://github.com/endrazine/wcc/blame/083662b2c80d568c84740cf8972db55287ed887f/src/wsh/wsh.c#L2544-L2547
But the code that does anything with the demangled symbol has been commented out here which was added (already commented out) in ef6e1b0#diff-3acd3456f9c5a5226fb32e4c93be467cR2578.
In addition, the code that prints out the demangled symbol seems to have always been commented out: here & here
Unsure if this is in any way related to #24.
It would be useful to have access/visibility into the demangled symbols so hopefully this information will give someone (maybe me? :D ) a starting point to enabling this.
[*] Funny story: So, the app I was poking around in was KiCad--the FLOSS electronic design software--which is implemented via the wxWidgets
framework. Currently there's no way to automate the schematic-related functionality so I wondered if wcc
might help provide a way to do so. Only to eventually discover that KiCad currently implements its core functionality as a (somewhat non-standard) shared library already! :D (Although, given how it's implemented, using the functionality still seems like a non-trivial task...)
congrats on a great work, Jonathan!
linked to your tool from our website now: http://capstone-engine.org/showcase.html
keep it up, cheers!
$ wsh
[SIGSEGV] Read 000000000017 (address not mapped to object)
000042009d64 wsh(scan_sections+0x91)
000042009e7d wsh(shdr_callback+0x60)
7fd279ade6a4 /usr/lib/libc.so.6(dl_iterate_phdr+0xf4)
00004200cdc1 wsh(reload_elfs+0x2f8)
00004201deb9 wsh(main+0x67)
7fd2799e2741 /usr/lib/libc.so.6(__libc_start_main+0xf1)
000042007979 wsh(_start+0x29)
[1] 18835 segmentation fault wsh
% uname -a
Linux hostname 4.6.3-1-ARCH #1 SMP PREEMPT Fri Jun 24 21:19:13 CEST 2016 x86_64 GNU/Linux
To reproduce:
will yield:
$ wsh ./ls.so
FATAL ERROR:
luaL_loadfile() failed: cannot open /usr/share/wcc/scripts/hashing: No such file or directory
This file is pointed by https://github.com/endrazine/wcc/blob/master/src/wsh/scripts/INDEX#L8 but it is not available in the repository and therefore in the installation directory.
markus@markus:~/Downloads/wcc3$ /usr/bin/wsh
init
WARNING: No binary loaded in memory. Try loadbin(). For help type help("loadbin").
ERROR: /lib/x86_64-linux-gnu/libdl.so.2: undefined symbol: __pthread_key_create
ERROR: /lib/x86_64-linux-gnu/libdl.so.2: undefined symbol: _ITM_deregisterTMCloneTable
ERROR: /lib/x86_64-linux-gnu/libdl.so.2: undefined symbol: __pthread_getspecific
ERROR: /lib/x86_64-linux-gnu/libdl.so.2: undefined symbol: gmon_start
ERROR: /lib/x86_64-linux-gnu/libdl.so.2: undefined symbol: __pthread_once
ERROR: /lib/x86_64-linux-gnu/libdl.so.2: undefined symbol: _Jv_RegisterClasses
ERROR: /lib/x86_64-linux-gnu/libdl.so.2: undefined symbol: _ITM_registerTMCloneTable
ERROR: /lib/x86_64-linux-gnu/libdl.so.2: undefined symbol: __pthread_setspecific
ERROR: /lib/x86_64-linux-gnu/libdl.so.2: undefined symbol: GLIBC_2.2.5
ERROR: /lib/x86_64-linux-gnu/libdl.so.2: undefined symbol: GLIBC_2.3.3
ERROR: /lib/x86_64-linux-gnu/libdl.so.2: undefined symbol: GLIBC_2.3.4
ERROR: /lib/x86_64-linux-gnu/libdl.so.2: undefined symbol: GLIBC_PRIVATE
ERROR: /lib/x86_64-linux-gnu/libc.so.6: undefined symbol: _dl_starting_up
ERROR: /lib/x86_64-linux-gnu/libc.so.6: undefined symbol: _obstack
ERROR: /lib/x86_64-linux-gnu/libc.so.6: undefined symbol: get_kernel_syms
ERROR: /lib/x86_64-linux-gnu/libc.so.6: undefined symbol: _res
ERROR: /lib/x86_64-linux-gnu/libc.so.6: undefined symbol: step
ERROR: /lib/x86_64-linux-gnu/libc.so.6: undefined symbol: GLIBC_PRIVATE
ERROR: /lib/x86_64-linux-gnu/libc.so.6: undefined symbol: __ctype_tolower
ERROR: /lib/x86_64-linux-gnu/libc.so.6: undefined symbol: __ctype_b
ERROR: /lib/x86_64-linux-gnu/libc.so.6: undefined symbol: __secure_getenv
ERROR: /lib/x86_64-linux-gnu/libc.so.6: undefined symbol: GLIBC_2.3
ERROR: /lib/x86_64-linux-gnu/libc.so.6: undefined symbol: GLIBC_2.4
ERROR: /lib/x86_64-linux-gnu/libc.so.6: undefined symbol: GLIBC_2.5
ERROR: /lib/x86_64-linux-gnu/libc.so.6: undefined symbol: GLIBC_2.6
ERROR: /lib/x86_64-linux-gnu/libc.so.6: undefined symbol: __ctype_toupper
ERROR: /lib/x86_64-linux-gnu/libc.so.6: undefined symbol: GLIBC_2.7
ERROR: /lib/x86_64-linux-gnu/libc.so.6: undefined symbol: GLIBC_2.8
ERROR: /lib/x86_64-linux-gnu/libc.so.6: undefined symbol: GLIBC_2.9
ERROR: /lib/x86_64-linux-gnu/libc.so.6: undefined symbol: create_module
ERROR: /lib/x86_64-linux-gnu/libc.so.6: undefined symbol: query_module
ERROR: /lib/x86_64-linux-gnu/libc.so.6: undefined symbol: GLIBC_2.10
ERROR: /lib/x86_64-linux-gnu/libc.so.6: undefined symbol: GLIBC_2.11
ERROR: /lib/x86_64-linux-gnu/libc.so.6: undefined symbol: GLIBC_2.12
ERROR: /lib/x86_64-linux-gnu/libc.so.6: undefined symbol: GLIBC_2.13
ERROR: /lib/x86_64-linux-gnu/libc.so.6: undefined symbol: GLIBC_2.14
ERROR: /lib/x86_64-linux-gnu/libc.so.6: undefined symbol: GLIBC_2.15
ERROR: /lib/x86_64-linux-gnu/libc.so.6: undefined symbol: GLIBC_2.16
ERROR: /lib/x86_64-linux-gnu/libc.so.6: undefined symbol: GLIBC_2.17
ERROR: /lib/x86_64-linux-gnu/libc.so.6: undefined symbol: GLIBC_2.18
ERROR: /lib/x86_64-linux-gnu/libc.so.6: undefined symbol: __ctype32_tolower
ERROR: /lib/x86_64-linux-gnu/libc.so.6: undefined symbol: uselib
ERROR: /lib/x86_64-linux-gnu/libc.so.6: undefined symbol: GLIBC_2.22
ERROR: /lib/x86_64-linux-gnu/libc.so.6: undefined symbol: GLIBC_2.23
ERROR: /lib/x86_64-linux-gnu/libc.so.6: undefined symbol: advance
ERROR: /lib/x86_64-linux-gnu/libc.so.6: undefined symbol: GLIBC_2.2.5
ERROR: /lib/x86_64-linux-gnu/libc.so.6: undefined symbol: GLIBC_2.2.6
ERROR: /lib/x86_64-linux-gnu/libc.so.6: undefined symbol: __ctype32_toupper
ERROR: /lib/x86_64-linux-gnu/libc.so.6: undefined symbol: GLIBC_2.3.2
ERROR: /lib/x86_64-linux-gnu/libc.so.6: undefined symbol: GLIBC_2.3.3
ERROR: /lib/x86_64-linux-gnu/libc.so.6: undefined symbol: GLIBC_2.3.4
ERROR: /lib/x86_64-linux-gnu/libc.so.6: undefined symbol: bdflush
ERROR: /lib/x86_64-linux-gnu/libc.so.6: undefined symbol: __ctype32_b
ERROR: /lib/x86_64-linux-gnu/libc.so.6: undefined symbol: loc1
ERROR: /lib/x86_64-linux-gnu/libc.so.6: undefined symbol: loc2
ERROR: /lib/x86_64-linux-gnu/libc.so.6: undefined symbol: sigvec
ERROR: /lib/x86_64-linux-gnu/libc.so.6: undefined symbol: locs
ERROR: /lib64/ld-linux-x86-64.so.2: undefined symbol: __get_cpu_features
ERROR: /lib64/ld-linux-x86-64.so.2: undefined symbol: _dl_get_tls_static_info
ERROR: /lib64/ld-linux-x86-64.so.2: undefined symbol: GLIBC_PRIVATE
ERROR: /lib64/ld-linux-x86-64.so.2: undefined symbol: GLIBC_2.3
ERROR: /lib64/ld-linux-x86-64.so.2: undefined symbol: GLIBC_2.4
ERROR: /lib64/ld-linux-x86-64.so.2: undefined symbol: free
ERROR: /lib64/ld-linux-x86-64.so.2: undefined symbol: realloc
ERROR: /lib64/ld-linux-x86-64.so.2: undefined symbol: _dl_allocate_tls
ERROR: /lib64/ld-linux-x86-64.so.2: undefined symbol: _r_debug
ERROR: /lib64/ld-linux-x86-64.so.2: undefined symbol: __libc_stack_end
ERROR: /lib64/ld-linux-x86-64.so.2: undefined symbol: __libc_memalign
ERROR: /lib64/ld-linux-x86-64.so.2: undefined symbol: _dl_deallocate_tls
ERROR: /lib64/ld-linux-x86-64.so.2: undefined symbol: _dl_find_dso_for_object
ERROR: /lib64/ld-linux-x86-64.so.2: undefined symbol: calloc
ERROR: /lib64/ld-linux-x86-64.so.2: undefined symbol: _dl_argv
ERROR: /lib64/ld-linux-x86-64.so.2: undefined symbol: _dl_mcount
ERROR: /lib64/ld-linux-x86-64.so.2: undefined symbol: _dl_tls_setup
ERROR: /lib64/ld-linux-x86-64.so.2: undefined symbol: _dl_debug_state
ERROR: /lib64/ld-linux-x86-64.so.2: undefined symbol: _rtld_global
ERROR: /lib64/ld-linux-x86-64.so.2: undefined symbol: GLIBC_2.2.5
ERROR: /lib64/ld-linux-x86-64.so.2: undefined symbol: __tls_get_addr
ERROR: /lib64/ld-linux-x86-64.so.2: undefined symbol: _dl_make_stack_executable
ERROR: /lib64/ld-linux-x86-64.so.2: undefined symbol: malloc
ERROR: /lib64/ld-linux-x86-64.so.2: undefined symbol: _dl_allocate_tls_init
ERROR: /lib64/ld-linux-x86-64.so.2: undefined symbol: _rtld_global_ro
ERROR: /lib64/ld-linux-x86-64.so.2: undefined symbol: __libc_enable_secure
ERROR: /lib64/ld-linux-x86-64.so.2: undefined symbol: _dl_rtld_di_serinfo
Following the git clone
, cd
, git submodule init
, git submodule update
process on 20160124; the submodule update
command failed with
$ git submodule update
fatal: reference is not a tree: 7d19fe6f4d59543ce5a61b640350805064ac5652
Unable to checkout '7d19fe6f4d59543ce5a61b640350805064ac5652' in submodule path 'src/wsh/lua'
Was 7d19fe6f4d59543ce5a61b640350805064ac5652
in a branch other than master in https://github.com/lua/lua.git ? Because checking out master instead results in a make error:
[...]
make[3]: Leaving directory `/home/bengardiner/src/wcc/src/wsh/openlibm'
cd lua && make linux CFLAGS="-fpie -fPIC"
make[3]: Entering directory `/home/bengardiner/src/wcc/src/wsh/lua'
make[3]: *** No rule to make target `linux'. Stop.
[...]
The links for Openlibm and Qemu user space are dead
not-dead links:
Openlibm: https://github.com/JuliaMath/openlibm
Qemu user space: https://qemu-project.gitlab.io/qemu/user/main.html
Running wsh on binaries with non-alphanumeric symbols (e.g. the mangled ones produced by rustc) results in output like
ERROR: Wsh internal lua initialization (Synthax Error): Wsh internal lua buffer:2070: '(' expected near '$'
which refers to this line in the generated lua:
function _ZN4core3num68_$LT$impl$u20$core..convert..TryFrom$LT$i16$GT$$u20$for$u20$u128$GT$8try_from17h890e52784dfa2181E (a, b, c, d, e, f, g, h) j,k = libcall(reflect__ZN4core3num68_$LT$impl$u20$core..convert..TryFrom$LT$i16$GT$$u20$for$u20$u128$GT$8try_from17h890e52784dfa2181E, a, b, c, d, e, f, g, h); return j, k; end
It might be nice to support demangling, though that may complicate parsing (angle brackets, parentheses, and colons would be valid in symbol names); in any event it would be nice for these symbols to not prevent wsh from running.
Just found this project and it is pretty awesome, would be great if it could also support MachO binaries too!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.