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" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] > > ========================================== > > 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:[EMAIL PROTECTED] > 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/