Вы, вероятно, ссылаетесь на это:
Содержание раздела .text:
0000 554889e5 c745f073 74726966 c745f46e UH ... E.strif.E.n
0010 67c645f6 00b80000 00005dc3 г.E .......].
Вы можете увидеть строку "string" в текстовом разделе, потому что это утверждение
char s[] = "string";
приводит к коду, который копирует строку в стек. objdump -d
показывает
Разборка раздела .text:
0000000000000000 <main>:
0: 55 push %rbp
1: 48 89 e5 mov %rsp,%rbp
4: c7 45 f0 73 74 72 69 movl $0x69727473,-0x10(%rbp)
b: 66 c7 45 f4 6e 67 movw $0x676e,-0xc(%rbp)
...
Последние две инструкции перемещают «строку» в стеке, поскольку она работает с непосредственными значениями, которые вы можете увидеть в hexdump. Тем не менее, он живет в стеке во время выполнения.