Модераторы: xvr
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> asm + kernel module 
V
    Опции темы
MAKCim
Дата 5.12.2006, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 84
Всего: 207



есть исходный файл модуля (на С)
в нем идет вызов extern функции
Код

...
extern void __handler();
...
__handler();

__handler() написан на asm-е
Код

...
.text
.globl __handler
.type  __handler, @function
__handler:
...

но это все в принципе не важно
вопрос в другом: как слинковать сишный объектник с объектником __handler()
make закономерно пишет, что не может найти handler.c для handler.o, который был получен обычным as-ом


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Dude03
Дата 5.12.2006, 23:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 28.4.2006

Репутация: 1
Всего: 6



Цитата(MAKCim @  5.12.2006,  22:17 Найти цитируемый пост)
make закономерно пишет, что не может найти handler.c для handler.o, который был получен обычным as-ом

хммм че значит make пишет?
как вообще линкуешь? ld не должен так ругаться... Может makefile выложи
PM MAIL   Вверх
Mayk
Дата 5.12.2006, 23:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: 5
Всего: 134



Примерно так(с вполне очевидными изменениями для замены nasm на as):
Код

OFILES=main.o sq.o
CFLAGS=-O6 -ffast-math -I$(HOME)/bin/include
LDFLAGS=
NASMFLAGS=-I/devel/src-old/asm  -f elf
EXE=main
CC=g++

.PHONY: clean
    
$(EXE): Makefile $(OFILES)
    $(CC) -o $(EXE) $(OFILES) $(LDFLAGS)

%.o: %.asm
    nasm $(NASMFLAGS) -o $*.o    $*.asm
%.o: %.c; $(CC) $(CFLAGS) -c -o $*.o $*.c

clean:; rm -f $(EXE) $(OFILES)

Цитата

02:11:dvl:~/src-old/pol/sqrt$ ls
main  main.c  main.o  Makefile  sq  sq.asm  sq.o  types.mac






--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
MAKCim
Дата 6.12.2006, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 84
Всего: 207



спасибо, ребята, сам разобрался
забыл строчку добавить
Код

handler.o:
    as $< -o $@

 smile 


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr.

 
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема »


 




[ Время генерации скрипта: 0.0608 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.