bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug binutils/30069] New: objdump (*-w64-mingw32) does not support the o


From: ralf.habacker at freenet dot de
Subject: [Bug binutils/30069] New: objdump (*-w64-mingw32) does not support the output of c++ symbol names for dynamic libraries
Date: Thu, 02 Feb 2023 07:44:45 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=30069

            Bug ID: 30069
           Summary: objdump (*-w64-mingw32) does not support the output of
                    c++ symbol names for dynamic libraries
           Product: binutils
           Version: 2.39
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: binutils
          Assignee: unassigned at sourceware dot org
          Reporter: ralf.habacker at freenet dot de
  Target Milestone: ---

Dynamic libraries generated for windows by i686-w64-mingw32-g++ may provide c++
symbols or refer to c++ symbols from other dynamic libraries.

When running `i686-w64-mingw32-objdump -x -C gnu-v3` on such a dynamic library 
 does not print out the demangled symbol name.

How to reproduce: 

1. downloaded appended dll.a
2. run 

 i686-w64-mingw32-objdump -x --demangle=gnu-v3 libgmpxx-4.dll | gawk '$3 ~
/basic_string/ { print $3}'
_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv
_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEjjPKcj
_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_appendEPKcj
_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEjjPKcj
_Z24__gmp_istream_set_digitsRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERSiRcRbi

The referenced symbols are valid c++ symbols as shown below: 

 i686-w64-mingw32-objdump -x --demangle=gnu-v3 libgmpxx-4.dll | gawk '$3 ~
/basic_string/ { print $3}' | c++filt

std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>
>::_M_dispose()
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>
>::_M_replace(unsigned int, unsigned int, char const*, unsigned int)
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>
>::_M_append(char const*, unsigned int)
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>
>::_M_mutate(unsigned int, unsigned int, char const*, unsigned int)
__gmp_istream_set_digits(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >&, std::basic_istream<char,
std::char_traits<char> >&, char&, bool&, int)

It would be nice if objdump could output the symbols demangled if desired.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]