LINUX.ORG.RU

remove ld.so.nohwcap

 ,


0

1

Здравствуйте,
Собираю helloworld с «gcc -static -static-libgcc»
Как из бинарника убрать инструкцию?:

access(«/etc/ld.so.nohwcap», F_OK)
т.е может можно какой-то флаг добавить? или чего-то слинковать или в крайнем случае скриптом пропатчить бинарник?

--
чего убрать хочу, после переноса бинарника для другую систему(винду), система не находит этот файл и падает.


переноса бинарника для другую систему(винду)

Всмысле? Ты же на винду должен заюзать что-то вроде i686-w64-mingw32-gcc, а не голый gcc.

Или у тебя какие-то там тёрки с виндовой UNIX-подсистемой что ли?

EXL ★★★★★
()
Последнее исправление: EXL (всего исправлений: 1)
Ответ на: комментарий от EXL

Да, все верно использую i686-w64-mingw32-gcc
Но, код падает если его запускаю под виндой.
Если его скомпилить с gcc и прогнать через strace, можно увидеть что оно пытается получить доступ к /etc/ld.so.nohwcap , потому и предполагаю, что оно падает под виндой именно по этому.

dume
() автор топика
Ответ на: комментарий от dume

оно пытается получить доступ к /etc/ld.so.nohwcap , потому и предполагаю, что оно падает под виндой именно по этому

man access намекнет, что предположение не верно, падение отлаживайте gdb

hizel ★★★★★
()
Ответ на: комментарий от EXL

Что ollydbg, что gdb не могут создать процесс.
gdb падает с ошибкой:
`error creating process error 5`
еще до выполнения первой инструкции из main

dume
() автор топика
Ответ на: комментарий от EXL

Код совсем простой:

#include<stdio.h>
int main(){
printf("hello world\n");
return(0);
}
Собиралось с mxe.cc:
i686-w64-mingw32.static-gcc main.c -o app.exe -static -static-libgcc -g
под вайном exe запускается норм, а под виндой -нет.

dume
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.