Hello *,
In fact, a conftest program in configure fails due to a syntax error. The
conftest.c is
#include "confdefs.h"
#include <syscall.h>
#include <sys/personality.h>
#include <stdio.h>
#include <unistd.h>
int main(int argc,char *argv[],char *envp[]) {
FILE *f;
long pers;
pers=personality(-1);
if (!(pers & ADDR_NO_RANDOMIZE)) {
personality(pers | ADDR_NO_RANDOMIZE);
execve(*argv,argv,envp);
}
if (!(f=fopen("conftest1","w")))
return -1;
fprintf(f,"%u",sbrk(0));
return 0;
}
confdefs.h contains (among other stuff)
#define ADDR_NO_RANDOMIZE 0x40000
/usr/include/sys/personality.h (which is included later) contains
enum
{
ADDR_NO_RANDOMIZE = 0x0040000,
....
Here ADDR_NO_RANDOMIZE is replaced by the number 0x40000, and gcc
(correctly) reports a syntax error.
Any idea how to get rid of this #define in confdefs.h?
Andrey
_______________________________________________
Gcl-devel mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/gcl-devel