ld

Тема в разделе "WASM.NT.KERNEL", создана пользователем Stamerlan, 31 окт 2008.

  1. Stamerlan

    Stamerlan New Member

    Публикаций:
    0
    Регистрация:
    10 июн 2007
    Сообщения:
    44
    У мя тут проблемма:

    когда я выполняю комманду:
    ld -Ttext 0x200000 -o bin\kernel.bin bin\startup.o bin\video.o bin\kernel.o

    он отвечает:
    warning: cannot find entry symbol _mainCRTStartup; defaulting to 00200000

    и не создает bin\kernel.bin


    Чего бы такого сделать че бы он пахал? подскажите плз
     
  2. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    Поставить линукс?
    _mainCRTStartup; создай.
    Указать формат ELF?
     
  3. Ra!N

    Ra!N New Member

    Публикаций:
    0
    Регистрация:
    26 окт 2006
    Сообщения:
    111
    создай main()
     
  4. bsnake

    bsnake New Member

    Публикаций:
    0
    Регистрация:
    11 сен 2005
    Сообщения:
    91
    Укажи линкеру entry point
    -e entry
    --entry=entry

    Ты под виндой или юникс?
     
  5. Stamerlan

    Stamerlan New Member

    Публикаций:
    0
    Регистрация:
    10 июн 2007
    Сообщения:
    44
    я под окошками

    когда я пишу:
    ld -Ttext 0x200000 -e _start -o bin\kernel.bin bin\startup.o bin\video.o bin\kernel.o

    он кричит:
    warning: cannot find entry symbol _start; defaulting to 00200000
     
  6. Ra!N

    Ra!N New Member

    Публикаций:
    0
    Регистрация:
    26 окт 2006
    Сообщения:
    111
    1) main() есть?
    2) попробуй "-e start"
    3) зачем тебе надо напрямую линкить? если gcc вызвать без "-c", то он сам вызовет линкер как надо.
     
  7. Stamerlan

    Stamerlan New Member

    Публикаций:
    0
    Регистрация:
    10 июн 2007
    Сообщения:
    44
    _start - это точка входа в ядро
    сюда передаст управление загрузчик
     
  8. bsnake

    bsnake New Member

    Публикаций:
    0
    Регистрация:
    11 сен 2005
    Сообщения:
    91
    objdump
    -t
    --syms
    Print the symbol table entries of the file. This is
    similar to the information provided by the nm program.