Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Grishka Chervonets                   2:5020/400     19 Aug 2006  13:26:56
 To : Dmitry E Oboukhov
 Subject : Re: получить чистый бинарник
 -------------------------------------------------------------------------------- 
 
 Dmitry E. Oboukhov <Dmitry.E.Oboukhov@p151.f75.n5004.z2.fidonet.org> wrote:
 
 AK>>>>  ну да, кто за тебя crt1.o и прочую требуху будет подключать?
 DEO>>>  а где об этом почитать?
 AK>> не знаю. info на gcc и ld не содержит этой информации?
 DEO> нужно откуда-то поиметь информацию _как_ процесс происходит
 DEO> а из простого перечня ключей к программе это сложно :)
 DEO> 
 DEO> может есть хауту на сию тему?
 
 поищи что-нибудь для gas-ассембляторов.
 
 у меня нет avr-gcc, если не в тему, прошу прощения.  
 итак, берем твой файл в качестве исходного
 
 $ gcc -c test.c
 $ nm test.o
 00000000 T main
            ^^^^--точка входа.  других символов ты не определял
 
 $ ld -e main -o test.elf test.o
      ^^^^^^^--необходимо явно указать точку входа или обозвать ее _start
 $ objcopy -S -O binary test.elf test.bin
 
 тоже самое можно сделать без objcopy
 $ ld --oformat binary -e main -o test.bin test.o
 проверка
 
 $ objdump -h test.elf
 
 test.elf:     формат файла elf32-i386
 
 Разделы:
 Инд Имя           Размер    VMA       LMA       Файл      Вырав
   0 .text         00000012  08048094  08048094  00000094  2**2
                   ^^^^^^^^ 12h = 18
                   CONTENTS, ALLOC, LOAD, READONLY, CODE
   1 .data         00000000  080490a8  080490a8  000000a8  2**2
                   CONTENTS, ALLOC, LOAD, DATA
   2 .bss          00000000  080490a8  080490a8  000000a8  2**2
                   ALLOC
   3 .comment      00000026  00000000  00000000  000000a8  2**0
 
 $ ll test.bin
 -rwxr-xr-x  1 chg chg 18 2006-08-19 12:47 test.bin
                       ^^
 
 кстати, gcc не вставил в эльф ненужного вызова _exit
 $ objdump -d test.elf
 
 test.elf:     формат файла elf32-i386
 
 Диассемблирование раздела .text:
 
 08048094 <main>:
  8048094:  55                     push   %ebp
  8048095:  89 e5                  mov    %esp,%ebp
  8048097:  83 ec 08               sub    $0x8,%esp
  804809a:  83 e4 f0               and    $0xfffffff0,%esp
  804809d:  b8 00 00 00 00         mov    $0x0,%eax
  80480a2:  29 c4                  sub    %eax,%esp
  80480a4:  eb fe                  jmp    80480a4 <main+0x10>
 
 ну и не последок, посмотри на опции ld --section-start и -T{bss,data,text};
 думаю, что пригодятся ;)
 
 -- 
 http://chg.fatal.ru
 
 Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
 --- ifmail v.2.15dev5.3
  * Origin: CHG (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 получить чистый бинарник   Dmitry E. Oboukhov   17 Aug 2006 20:11:09 
 Re: получить чистый бинарник   Alex Korchmar   17 Aug 2006 22:19:38 
 получить чистый бинарник   Dmitry E. Oboukhov   18 Aug 2006 10:37:25 
 Re: получить чистый бинарник   Alex Korchmar   18 Aug 2006 12:31:26 
 получить чистый бинарник   Dmitry E. Oboukhov   18 Aug 2006 13:28:30 
 Re: получить чистый бинарник   Alex Korchmar   18 Aug 2006 14:52:16 
 получить чистый бинарник   Dmitry E. Oboukhov   18 Aug 2006 15:54:04 
 получить чистый бинарник   Alexey Vissarionov   18 Aug 2006 16:15:36 
 получить чистый бинарник   Andrew Kant   18 Aug 2006 15:08:31 
 Re: получить чистый бинарник   Alex Korchmar   18 Aug 2006 17:59:57 
 получить чистый бинарник   Dmitry E. Oboukhov   18 Aug 2006 18:32:12 
 Re: получить чистый бинарник   Alex Korchmar   18 Aug 2006 14:58:24 
 получить чистый бинарник   Dmitry E. Oboukhov   18 Aug 2006 15:49:42 
 Re: получить чистый бинарник   Eugene Grosbein   18 Aug 2006 20:33:35 
 Re: получить чистый бинарник   Alex Korchmar   18 Aug 2006 19:10:29 
 получить чистый бинарник   Dmitry E. Oboukhov   18 Aug 2006 20:25:29 
 Re: получить чистый бинарник   Grishka Chervonets   19 Aug 2006 13:26:56 
 Re: получить чистый бинарник   Dmitry A. Nikitin   24 Aug 2006 03:03:42 
 Re: получить чистый бинарник   Grishka Chervonets   24 Aug 2006 14:08:44 
 Re: получить чистый бинарник   Dmitry A. Nikitin   26 Aug 2006 23:07:32 
 Re: получить чистый бинарник   Grishka Chervonets   27 Aug 2006 13:53:08 
 получить чистый бинарник   Dmitry E. Oboukhov   28 Aug 2006 11:16:39 
 Re: получить чистый бинарник   Grishka Chervonets   29 Aug 2006 14:36:36 
 получить чистый бинарник   Dmitry E. Oboukhov   29 Aug 2006 16:34:21 
 получить чистый бинарник   Sergey Khvatov   29 Aug 2006 17:21:09 
 получить чистый бинарник   Dmitry E. Oboukhov   29 Aug 2006 19:07:22 
 получить чистый бинарник   Sergey Khvatov   30 Aug 2006 11:02:22 
 получить чистый бинарник   Dmitry E. Oboukhov   30 Aug 2006 11:43:01 
 Re: получить чистый бинарник   Grishka Chervonets   30 Aug 2006 13:18:20 
 получить чистый бинарник   Dmitry Ponyatov   19 Aug 2006 13:56:52 
 получить чистый бинарник   Dmitry Ponyatov   19 Aug 2006 14:09:02 
 получить чистый бинарник   Dmitry Ponyatov   19 Aug 2006 17:17:44 
 получить чистый бинарник   Dmitry Ponyatov   19 Aug 2006 13:54:36 
Архивное /ru.linux/1171561a59d42.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional