Чем отличается секция _stext от _text?

Чем отличается секция _stext от _text?

29.12.2016 12:18:52 Просмотров 15 Источник

Файл System.map . Там есть символы _text, _stext, _etext. Как я понял _stext это символ, адрес которого это начало секции кода, а _etext адрес конца. Тогда чем отличается _text и _stext? Причём _stext идёт после _text в таблице символов.

    0000000001000000 A phys_startup_64
    ffffffff81000000 T _text
    ffffffff81000000 T startup_64
    ffffffff81000110 T secondary_startup_64
    ffffffff810001a9 t verify_cpu
    ffffffff810002a0 T start_cpu0
    ffffffff810002b5 t bad_address
    ffffffff810002b8 T _stext
    ffffffff81001000 T hypercall_page
    ...
    ffffffff81808730 T bad_from_user
    ffffffff81808736 t bad_to_user
    ffffffff81808e57 T _etext
У вопроса есть решение - Посмотреть?

https://ru.stackoverflow.com/questions/609153/%d0%a7%d0%b5%d0%bc-%d0%be%d1%82%d0%bb%d0%b8%d1%87%d0%b0%d0%b5%d1%82%d1%81%d1%8f-%d1%81%d0%b5%d0%ba%d1%86%d0%b8%d1%8f-stext-%d0%be%d1%82-text#comment834766_609153
Это зависит от того, как эти символы используются в скрипте линкера (*.ld). Выложите его сюда.
https://ru.stackoverflow.com/questions/609153/%d0%a7%d0%b5%d0%bc-%d0%be%d1%82%d0%bb%d0%b8%d1%87%d0%b0%d0%b5%d1%82%d1%81%d1%8f-%d1%81%d0%b5%d0%ba%d1%86%d0%b8%d1%8f-stext-%d0%be%d1%82-text#comment834923_609153
@maestro оказывается я видел это System.map. Не знаю как посмотреть скрипт ld.
https://ru.stackoverflow.com/questions/609153/%d0%a7%d0%b5%d0%bc-%d0%be%d1%82%d0%bb%d0%b8%d1%87%d0%b0%d0%b5%d1%82%d1%81%d1%8f-%d1%81%d0%b5%d0%ba%d1%86%d0%b8%d1%8f-stext-%d0%be%d1%82-text#comment834952_609153
@maestro изменил вопрос. А как узнать сборка была с каким-то *.ld или с default script?
https://ru.stackoverflow.com/questions/609153/%d0%a7%d0%b5%d0%bc-%d0%be%d1%82%d0%bb%d0%b8%d1%87%d0%b0%d0%b5%d1%82%d1%81%d1%8f-%d1%81%d0%b5%d0%ba%d1%86%d0%b8%d1%8f-stext-%d0%be%d1%82-text#comment835006_609153
@maestro это ядро Fedora. Я посмотрел на lxr.free-electrons.com Makefile- там нет подобного
https://ru.stackoverflow.com/questions/609153/%d0%a7%d0%b5%d0%bc-%d0%be%d1%82%d0%bb%d0%b8%d1%87%d0%b0%d0%b5%d1%82%d1%81%d1%8f-%d1%81%d0%b5%d0%ba%d1%86%d0%b8%d1%8f-stext-%d0%be%d1%82-text#comment835010_609153
@maestro наверно надо еще вычислить где были определены эти символы- в скрипте или ранее в исходном С коде

Ответы - Чем отличается секция _stext от _text? / Чем отличается секция _stext от _text?

Mike AJ

30.12.2016 08:54:19

Оказывается все эти символы определялись в скрипте линкера ld. (kernel/vmlinux.lds.S)

_text это адрес начала секции .text. _stext это адрес кода ядра (сразу после bootstrapping code).

Закрыть X