gcl-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gcl-devel] cannot trap sbrk


From: Andrey G. Grozin
Subject: Re: [Gcl-devel] cannot trap sbrk
Date: Tue, 4 Nov 2008 22:19:29 +0600 (NOVT)
User-agent: Alpine 1.10 (LRH 962 2008-03-14)

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]