LINUX.ORG.RU

История изменений

Исправление EXL, (текущая версия) :

Сделай пустую so-шку экспортирующую int errno. Подкинь её своему приложению через LD_PRELOAD.

Мне тоже пришло это в голову сперва. Я попытался сделать вот так, но увы:

// errno_lib.c
extern int errno;

int errno;

int use_errno(void) {
	errno = 0;
	return errno;
}

$ gcc -m32 errno_lib.c -shared -fPIC -o liberrno.so

$ LD_PRELOAD=lib/liberrno.so ./prism
Floating point exception (core dumped)

Исходная версия EXL, :

Сделай пустую so-шку экспортирующую int errno. Подкинь её своему приложению через LD_PRELOAD.

Мне тоже пришло это в голову сперва. Я попытался сделать вот так:

// errno_lib.c
extern int errno;

int errno;

int use_errno(void) {
	errno = 0;
	return errno;
}

$ gcc -m32 errno_lib.c -shared -fPIC -o liberrno.so

$ LD_PRELOAD=lib/liberrno.so ./prism
Floating point exception (core dumped)