|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Eugene Grosbein 2:5006/1 18 Aug 2006 20:33:35 To : Dmitry E Oboukhov Subject : Re: получить чистый бинарник --------------------------------------------------------------------------------
18 авг 2006, пятница, в 13:49 KRAST, Dmitry E Oboukhov написал(а):
DEO>>> -nostdlib
DEO>>> arm-linux-gcc obj/main.o -o obj/test.elf -mcpu=arm7tdmi -nostdlib
DEO>>> /usr/lib/gcc/arm-linux/3.4.4/../../../../arm-linux/bin/ld: warning:
DEO>>> cannot find entry symbol _start; defaulting to 00008074
AK>> ну да, кто за тебя crt1.o и прочую требуху будет подключать?
DEO> а где об этом почитать?
Пример "Hello, world!" на C, бинарник 448 байт, gcc version 2.95.4
20020320 [FreeBSD]
#define MESG "Hello, world!\n"
#define MESG_SZ sizeof(MESG)-1
#define write(a,b,c) syscall(4,a,b,c)
#define _exit(a) syscall(1,a)
int errno;
main() {
write(1,MESG,MESG_SZ);
_exit(0);
}
Компиляция:
gcc -I/usr/src/lib/libc/i386 -nostartfiles -nodefaultlibs -nostdlib -s \
-static -O99 -fomit-frame-pointer -Wl,--entry=main,--gc-section \
-o hello hello.c /usr/src/lib/libc/i386/sys/syscall.S \
/usr/src/lib/libc/i386/sys/cerror.S /usr/src/lib/libc/sys/__error.c
Правда, это без crt ("закат солнца вручную").
Eugene
--
И у священных источников живут алчные монахи. (Дхарма)
--- slrn/0.9.8.0 (FreeBSD)
* Origin: Svyaz Service JSC (2:5006/1@fidonet)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/26093b15cb707.html, оценка из 5, голосов 10
|