objdump : inaccurate demangling for foo(char* const)

Ronald Landheer-Cieslak blytkerchan@users.sourceforge.net
Fri Sep 19 10:19:00 GMT 2003


AFAIK, const is a compiler directive - there is nothing in the assembler
that make a symbol const. You should see const more like a promise: "I
promise I won't change the value of this variable". That promise can be 
broken by a const-cast, and the assembler code doesn't know anything about
it (AFAIK, there is no const in assembler, but I might be mistaken there).

rlc

On Fri, Sep 19, 2003 at 07:31:12AM +0300, Alex Vinokur wrote:
> 
> "Alex Vinokur" <alexvn@connect.to> wrote in message news:bkdtn1$597$2@sea.gmane.org...
> > ==========================================
> > Windows 2000 Professional
> > CYGWIN_NT-5.0 1.5.4(0.94/3/2)
> > GNU gcc version 3.2 20020927 (prerelease)
> > GNU objdump 2.14.90 20030901
> > ==========================================
> >
> 
> Updated question about objdump.
> 
> Low-level and user-level symbol names of foo2(char* const) are foo2(char*)
> 
> --------- C++ code ---------
> void foo1 (char*) {}
> void foo2 (char* const) {}
> ----------------------------
> 
> 
> --------- objdump : Fragments ---------
> $ objdump -Cd t.o
> 
> t.o:     file format pe-i386
> 
> Disassembly of section .text:
> 
> 00000000 <__Z4foo1Pc>:    // OK
> 
> 00000006 <__Z4foo2Pc>:    // char*, not char* const
> 
> 
> $ objdump -d t.o
> 
> t.o:     file format pe-i386
> 
> Disassembly of section .text:
> 
> 00000000 <foo1(char*)>:    // OK
> 
> 
> 00000006 <foo2(char*)>:    // Not char* const
> 
> --------------------------------------
> 
> So, is it inaccuracy or convention?
> 
> 
>    =====================================
>    Alex Vinokur
>      mailto:alexvn@connect.to
>      http://mathforum.org/library/view/10978.html
>    =====================================
> 
> 
> 
> 
> --
> Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
> Problem reports:       http://cygwin.com/problems.html
> Documentation:         http://cygwin.com/docs.html
> FAQ:                   http://cygwin.com/faq/

-- 
You will have a long and boring life.

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list