| delorie.com/archives/browse.cgi | search |
| Mailing-List: | contact cygwin-help AT cygwin DOT com; run by ezmlm |
| List-Subscribe: | <mailto:cygwin-subscribe AT cygwin DOT com> |
| List-Archive: | <http://sources.redhat.com/ml/cygwin/> |
| List-Post: | <mailto:cygwin AT cygwin DOT com> |
| List-Help: | <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs> |
| 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 <blytkerchan AT users DOT sourceforge DOT net> |
| To: | cygwin AT cygwin DOT com |
| Subject: | Re: objdump : inaccurate demangling for foo(char* const) |
| Message-ID: | <20030919095141.GE21770@linux_rln.harvest> |
| References: | <bkdtn1$597$2 AT sea DOT gmane DOT org> <bke0qt$8l6$1 AT sea DOT gmane DOT org> |
| Mime-Version: | 1.0 |
| In-Reply-To: | <bke0qt$8l6$1@sea.gmane.org> |
| 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" <alexvn AT connect DOT to> 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 <foo1(char*)>: // OK
>
>
> 00000006 <foo2(char*)>: // 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/
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |