Are string literals _always_ allocated in the RO section?
Gabriel Dos Reis
gdr@integrable-solutions.net
Sun Jan 16 03:05:00 GMT 2005
Denis Zaitsev <zzz@anda.ru> writes:
| This program:
|
| void x(char *s)
| {
| *s= 'x';
| }
|
| main()
| {
| x("y");
| }
|
| is compiled plainly but cathes SIGSEGV in the
|
| *s= 'x'
|
| line. And it's because the string "y" is put in the .text section.
| And the fact that the x()'s parm is explicitly declared as <char*>,
| not <const char*> does nothing in this case. Should it be considered
| as a bug?
In the program? Yes.
-- Gaby
More information about the Gcc
mailing list