Package: g++-4.0 Version: 4.0.1-2 Severity: normal If one tries to output an address of a character variable or a pointer to a character variable, the output is scrambled.
Consider the following test program: #include <iostream> #include <stdio.h> main () { char a = 'a'; bool b = 0; short s = 0; int i = 4711; char *pa = &a; int *pi = &i; void *vpa = &a; printf("printf Output of address of i is %lx\n", &i); printf("printf Output of pointer to i is %lx\n", pi); std::cout << "cout Output of pointer to i is " << pi << '\n'; std::cout << "cout Output of address of i is " << &i << '\n'; std::cout << "cout Output of pointer to a is " << pa << '\n'; std::cout << "cout Output of void pointer to a is " << vpa << '\n'; std::cout << "cout Output of address of a is " << &a << '\n'; std::cout << "cout Output of address of a is "; std::cout << &a; std::cout << '\n'; std::cout << "cout Output of address of b is " << &b << '\n'; std::cout << "cout Output of address of s is " << &s << '\n'; printf("printf Output of address of a is %lx\n", &a); } It has the following output: printf Output of address of i is bffff874 printf Output of pointer to i is bffff874 cout Output of pointer to i is 0xbffff874 cout Output of address of i is 0xbffff874 cout Output of pointer to a is a{øÿ¿tøÿ¿{øÿ¿èøÿ¿téÙ· cout Output of void pointer to a is 0xbffff87b cout Output of address of a is a{øÿ¿tøÿ¿{øÿ¿èøÿ¿téÙ· cout Output of address of a is a{øÿ¿tøÿ¿{øÿ¿èøÿ¿téÙ· cout Output of address of b is 0xbffff87a cout Output of address of s is 0xbffff878 printf Output of address of a is bffff87b As one can see with od -c, there are some unprintable characters: 0000000 p r i n t f O u t p u t o f 0000020 a d d r e s s o f i i s 0000040 b f f f f 8 7 4 \n p r i n t f 0000060 O u t p u t o f p o i n t 0000100 e r t o i i s b f f f f 0000120 8 7 4 \n c o u t O u t p u t 0000140 o f p o i n t e r t o i 0000160 i s 0 x b f f f f 8 7 4 \n c o 0000200 u t O u t p u t o f a d d 0000220 r e s s o f i i s 0 x b 0000240 f f f f 8 7 4 \n c o u t O u t 0000260 p u t o f p o i n t e r t 0000300 o a i s a { 370 377 277 t 370 377 0000320 277 { 370 377 277 350 370 377 277 t 351 331 267 001 \n c 0000340 o u t O u t p u t o f v o 0000360 i d p o i n t e r t o a 0000400 i s 0 x b f f f f 8 7 b \n c 0000420 o u t O u t p u t o f a d 0000440 d r e s s o f a i s a { 0000460 370 377 277 t 370 377 277 { 370 377 277 350 370 377 277 t 0000500 351 331 267 001 \n c o u t O u t p u t 0000520 o f a d d r e s s o f a 0000540 i s a { 370 377 277 t 370 377 277 { 370 377 0000560 277 350 370 377 277 t 351 331 267 001 \n c o u t 0000600 O u t p u t o f a d d r e s 0000620 s o f b i s 0 x b f f f 0000640 f 8 7 a \n c o u t O u t p u t 0000660 o f a d d r e s s o f s 0000700 i s 0 x b f f f f 8 7 8 \n p 0000720 r i n t f O u t p u t o f 0000740 a d d r e s s o f a i s 0000760 b f f f f 8 7 b \n 0000771 Initially, I started with stable, i.e. g++-3.3 and g++3.4. Those versions have the same Problem. Perhaps it is located in libc6? -- System Information: Debian Release: 3.1 APT prefers testing APT policy: (500, 'testing') Architecture: i386 (i686) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.11-1-686 Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968) Versions of packages g++-4.0 depends on: ii gcc-4.0 4.0.1-2 The GNU C compiler ii gcc-4.0-base 4.0.1-2 The GNU Compiler Collection (base ii libc6 2.3.2.ds1-22 GNU C Library: Shared libraries an ii libstdc++6-4.0-dev 4.0.1-2 The GNU Standard C++ Library v3 (d g++-4.0 recommends no packages. -- no debconf information -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]