.bss & relocs

Тема в разделе "WASM.ZEN", создана пользователем agent007, 19 апр 2008.

  1. agent007

    agent007 New Member

    Публикаций:
    0
    Регистрация:
    3 фев 2007
    Сообщения:
    166
    Интересно стало. В общем есть прога скомпиленная на сях. (exe) для нее есть таблица релоков. но в ней для переменных в секции .bss отсутствуют фиксапы в таблице... сама секция располагается по адрес 0x6000, в таблице релоков есть для 0x5000, далее для 0x7000 адресов... Интересен механизм как виндовый загрузчик подправит адреса переменных, если imagebase сменится :)
     
  2. NoName

    NoName New Member

    Публикаций:
    0
    Регистрация:
    1 авг 2004
    Сообщения:
    1.229
    как минимум фиксапы должны быть для кода или данных ссылающихся на bss.
    Напиши лучше сюда вывод к примеру dumpbin.exe или tdump, например:

    # Name VirtSize RVA PhysSize Phys off Flags
    -- -------- -------- -------- -------- -------- --------
    01 .text 000942CE 00001000 00095000 00001000 60000020 [CER]
    02 .rdata 00007990 00096000 00008000 00096000 40000040 [IR]
    03 .data 000172C4 0009E000 00009000 0009E000 C0000040 [IRW]
    04 .rsrc 000016D0 000B6000 00002000 000A7000 40000040 [IR]
    05 .reloc 00007CD2 000B8000 00008000 000A9000 42000040 [IDR]

    а то непонятно какой размер bss по твоему сообщению.
     
  3. dermatolog

    dermatolog Member

    Публикаций:
    0
    Регистрация:
    3 фев 2005
    Сообщения:
    406
    Адрес:
    Екатеринбург
    agent007
    bss это секция данных с неинициализированными переменными (физический размер = 0), поэтому логично что для неё нет настраиваемых элементов, т.к. настраивать просто нечего :))
     
  4. Jupiter

    Jupiter Jupiter

    Публикаций:
    0
    Регистрация:
    12 авг 2004
    Сообщения:
    532
    Адрес:
    Russia
    главное, чтобы при релокации в коде были подправлены ссылки на данные в .BSS
     
  5. asmfan

    asmfan New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2006
    Сообщения:
    1.004
    Адрес:
    Abaddon
    За это лодер ответственен, а не кодер. Релоки формируются для любого прямого /не относительного/ адреса.
     
  6. agent007

    agent007 New Member

    Публикаций:
    0
    Регистрация:
    3 фев 2007
    Сообщения:
    166
    писал уже почти ночью, переутомился.... в общем все нормально. можно закрыть тему.