Dan Lukes wrote on 02/29/2016 01:40:
Musel bys knihovny gcc48 nejdriv stripnout, aby debugovaci informace
neobsahovaly vubec.
A to uz je snad jednodussi misto gcc 4.8 pouzit gcc 4.7 - ten snad jeste
DWARF-4 neumel.
Zkusil jsem to se 4.7
# gdb dns-terror
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "amd64-marcel-freebsd"...
(gdb) core dns-terror.core
Core was generated by 'dns-terror'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/local/lib/libadns.so.1...done.
Loaded symbols for /usr/local/lib/libadns.so.1
Reading symbols from /lib/libz.so.6...done.
Loaded symbols for /lib/libz.so.6
Reading symbols from /usr/local/lib/libdb_cxx-5.3.so.0...done.
Loaded symbols for /usr/local/lib/libdb_cxx-5.3.so.0
Reading symbols from /usr/local/lib/gcc47/libstdc++.so.6...done.
Loaded symbols for /usr/local/lib/gcc47/libstdc++.so.6
Reading symbols from /lib/libm.so.5...done.
Loaded symbols for /lib/libm.so.5
Reading symbols from /usr/local/lib/gcc47/libgcc_s.so.1...done.
Loaded symbols for /usr/local/lib/gcc47/libgcc_s.so.1
Reading symbols from /lib/libc.so.7...done.
Loaded symbols for /lib/libc.so.7
Reading symbols from /lib/libthr.so.3...done.
Loaded symbols for /lib/libthr.so.3
Reading symbols from /usr/lib/libc++.so.1...done.
Loaded symbols for /usr/lib/libc++.so.1
Reading symbols from /lib/libcxxrt.so.1...done.
Loaded symbols for /lib/libcxxrt.so.1
Reading symbols from /libexec/ld-elf.so.1...done.
Loaded symbols for /libexec/ld-elf.so.1
#0 0x0000000000000000 in ?? ()
[New Thread 802c06400 (LWP 100134/<unknown>)]
(gdb) bt
#0 0x0000000000000000 in ?? ()
#1 0x00000008013283ed in __dynamic_cast (src_ptr=0x8015d0480,
src_type=0x8015b5fd0,
dst_type=0x8015b5d60, src2dst=0)
at ../../.././../gcc-4.7.4/libstdc++-v3/libsupc++/dyncast.cc:61
#2 0x0000000801353f50 in std::has_facet<std::ctype<char> >
(__loc=@0x8015cffb8)
at locale_classes.tcc:257
#3 0x0000000801348e44 in std::basic_ios<char, std::char_traits<char>
>::_M_cache_locale (
this=0x8015cfee8, __loc=@0x8015cffb8) at basic_ios.tcc:160
#4 0x0000000801348ee8 in std::basic_ios<char, std::char_traits<char>
>::init (
this=0x8015cfee8, __sb=0x8015cf7c0) at basic_ios.tcc:133
#5 0x000000080133b241 in std::ios_base::Init::Init (this=Unhandled
dwarf expression opcode 0xf3
) at ostream:83
#6 0x000000000040466a in __static_initialization_and_destruction_0
(__initialize_p=Could not find the frame base for
"__static_initialization_and_destruction_0".
) at new:111
#7 0x000000000060a488 in ?? ()
#8 0x00007fffffffd7a0 in ?? ()
#9 0x0000000800827560 in ?? () from /libexec/ld-elf.so.1
#10 0x0000000000000000 in ?? ()
Myslim, ze ja uz se dal nedostanu
No,porad's to jeste nezkusil zkompilovat s -O optimalizacema. ;-)
To zkusim ted ;)
Ja uz bych davno ten prelozenej kod projel disassemblerem (a hledal
vyskyt "neexistujici instrukce"), ale nemam vubec vyrobeny builder-stroj
s 10-R v 32bit verzi. A pro 64 bitovej binar zas nemam disassembler.
Taky muzes zkusit ICC misto GCC:
CC= ${LOCALBASE}/intel_cc_80/bin/icc
CXX= ${LOCALBASE}/intel_cc_80/bin/icpc
To ale taky muze byt dost napinava zmena ;-)
A i na tohle asi dojde rada - urcite se jeste ozvu.
Prece tim, ze se na stejny kod pouzije jiny kompilator by se nemel
zmenit seznam runtime zavislosti, ne?
No, tak to samozrejme mel, u dynamicky linkovanejch binaru. Pri behu
potrebujes knihovny, ktere se budou prilinkovavat. V pripade objektoveho
prekladu pomoci gcc 4.8 to nejspis bude minimalne libstdc++.6.so. Coz
znamena zavislost na lang/gcc48
Nedoslo mi, ze si to pak udela zavislost na jine knihovne podle
kompilatoru. Tak jak jsi to popsal uz to samozrejme smysl dava. I kdyz i
tak mi prijde ten seznam zavislosti jako obludne velky balik (patrne
kvuli dvoum knihovnam)
No, a to ostatni jsou uz rekurzivni zavislosti samotneho gcc 4.8. A tech
je tam, pri defaultnim prekladu gcc, dost.
Dan
--
FreeBSD mailing list ([email protected])
http://www.freebsd.cz/listserv/listinfo/users-l