SIGSEGV w programach linkowanych z pari

Roman Werpachowski roman w student.ifpan.edu.pl
Wto, 12 Lis 2002, 10:16:49 CET


Wpisałem na próbę program proba.gp (w załączniku). Skonwertowałem to
programem gp2c i utworzyłem plik proba.c (w załączniku). Dopisałem do
niego int main(void) wywołujący funkcję init_proba zawierającą wywołania
funkcji z biblioteki pari. Kompiluje się bezbłędnie (z i bez flag
wypisanych na początku pliku proba.c), po wywołaniu daje SIGSEGV. To samo
dzieje się dla innych programów Pari. Wygląda na błąd w pari.

-- 
Roman Werpachowski <roman at student.ifpan.edu.pl>
"And now for something completely different"
-------------- następna część ---------
a = factor(20);
print(a);
-------------- następna część ---------
/*-*- compile-command: "/usr/bin/gcc -c -o proba.gp.o -O3 -DGCC_INLINE -Wall -Wno-implicit -malign-loops=2 -malign-jumps=2 -malign-functions=2 -fomit-frame-pointer  -I/usr/include proba.gp.c && /usr/bin/ld -o proba.gp.so -shared  -lc -lm  proba.gp.o"; -*-*/
#include <pari/pari.h>
/*
install("init_proba","v","init_proba","./proba.gp.so");
*/
void init_proba(void);
/*End of prototype*/

static GEN a;
/*End of global vars*/

void init_proba(void)
{
  a = polx[fetch_user_var("a")];
  a = decomp(stoi(20));
  fprintferr("%Z\n",a);
  return;
}

int main(void)
{
	init_proba();
	return 0;
}


Więcej informacji o liście dyskusyjnej pld-devel-pl