Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com X-Authentication-Warning: localhost.localdomain: ronald set sender to blytkerchan AT users DOT sourceforge DOT net using -f Date: Fri, 19 Sep 2003 11:51:41 +0200 From: Ronald Landheer-Cieslak To: cygwin AT cygwin DOT com Subject: Re: objdump : inaccurate demangling for foo(char* const) Message-ID: <20030919095141.GE21770@linux_rln.harvest> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4i X-Disclaimer: I had nothing to do with it - I swear! X-loop: linux_rln.harvest 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" wrote in message news:bkdtn1$597$2 AT sea DOT gmane DOT 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 : // OK > > > 00000006 : // Not char* const > > -------------------------------------- > > So, is it inaccuracy or convention? > > > ===================================== > Alex Vinokur > mailto:alexvn AT connect DOT 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/