/[gcl]/gcl/configure.in
ViewVC logotype

Diff of /gcl/configure.in

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.200 by camm, Thu Sep 22 21:07:18 2005 UTC revision 1.201 by camm, Thu Sep 29 17:54:33 2005 UTC
# Line 977  if test "$HAVE_SBRK" = "1" ; then Line 977  if test "$HAVE_SBRK" = "1" ; then
977                    
978          if test "$SBRK" != "$SBRK1" ; then          if test "$SBRK" != "$SBRK1" ; then
979                  AC_MSG_RESULT(yes)                  AC_MSG_RESULT(yes)
980                  AC_MSG_CHECKING([for randomized brk remedy])  #               AC_CHECK_HEADER(linux/personality.h, true,
981    #                          AC_MSG_ERROR(linux/personality.h not found))
982    #               AC_TRY_RUN([#include <syscall.h>
983    #                           #include <linux/personality.h>
984    #                           #include <stdio.h>
985    #                           #include <unistd.h>
986    #                           int main(int argc,char *argv[],char *envp[]) {
987    #                               FILE *f;
988    #                               if (!(f=fopen("conftest1","w")))
989    #                                       return -1;
990    #                               fprintf(f,"%x",ADDR_NO_RANDOMIZE);
991    #                               return 0;
992    #                               }],
993    #                               ADDR_NO_RANDOMIZE=`cat conftest1`,ADDR_NO_RANDOMIZE=0,ADDR_NO_RANDOMIZE=0)
994    #               if test "$ADDR_NO_RANDOMIZE" = "0" ; then
995    #                       AC_MSG_RESULT(cannot get ADDR_NO_RANDOMIZE constant)
996    #                       exit 1
997    #               fi
998    #               AC_DEFINE_UNQUOTED(ADDR_NO_RANDOMIZE,$ADDR_NO_RANGOMIZE)
999    #
1000    # Many boxes do not have the definition yet
1001    #
1002                    ADDR_NO_RANDOMIZE=0x40000
1003                    AC_DEFINE_UNQUOTED(ADDR_NO_RANDOMIZE,$ADDR_NO_RANDOMIZE)
1004                    AC_MSG_CHECKING([for ADDR_NO_RANOMIZE constant])
1005                    AC_MSG_RESULT($ADDR_NO_RANDOMIZE)
1006                    AC_CHECK_HEADER(sys/personality.h, true,
1007                               AC_MSG_ERROR(sys/personality.h not found))
1008                  AC_TRY_RUN([#include <syscall.h>                  AC_TRY_RUN([#include <syscall.h>
1009                              #include <linux/personality.h>                              #include <sys/personality.h>
1010                              #include <stdio.h>                              #include <stdio.h>
1011                              #include <unistd.h>                              #include <unistd.h>
1012                              int main(int argc,char * argv[]) {                              int main(int argc,char *argv[],char *envp[]) {
1013                                  FILE *f;                                  FILE *f;
1014                                  #if SIZEOF_LONG == 4                                  long pers;
1015                                  if (!syscall(SYS_personality,PER_LINUX32))                                  pers=personality(-1);
1016                                  #else                                  if (!(pers & ADDR_NO_RANDOMIZE)) {
1017                                  if (!syscall(SYS_personality,PER_LINUX))                                     personality(pers | ADDR_NO_RANDOMIZE);
1018                                  #endif                                     execve(*argv,argv,envp);
1019                                          execvp(argv[0],argv);                                  }
1020                                  if (!(f=fopen("conftest1","w")))                                  if (!(f=fopen("conftest1","w")))
1021                                          return -1;                                          return -1;
1022                                  fprintf(f,"%u",sbrk(0));                                  fprintf(f,"%u",sbrk(0));
# Line 1001  if test "$HAVE_SBRK" = "1" ; then Line 1028  if test "$HAVE_SBRK" = "1" ; then
1028                          exit 1                          exit 1
1029                  fi                  fi
1030                  AC_TRY_RUN([#include <syscall.h>                  AC_TRY_RUN([#include <syscall.h>
1031                              #include <linux/personality.h>                              #include <sys/personality.h>
1032                              #include <stdio.h>                              #include <stdio.h>
1033                              #include <unistd.h>                              #include <unistd.h>
1034                              int main(int argc,char * argv[]) {                              int main(int argc,char * argv[],char *envp[]) {
1035                                  FILE *f;                                  FILE *f;
1036                                  #if SIZEOF_LONG == 4                                  long pers;
1037                                  if (!syscall(SYS_personality,PER_LINUX32))                                  pers=personality(-1);
1038                                  #else                                  if (!(pers & ADDR_NO_RANDOMIZE)) {
1039                                  if (!syscall(SYS_personality,PER_LINUX))                                     personality(pers | ADDR_NO_RANDOMIZE);
1040                                  #endif                                     execve(*argv,argv,envp);
1041                                          execvp(argv[0],argv);                                  }
1042                                  if (!(f=fopen("conftest1","w")))                                  if (!(f=fopen("conftest1","w")))
1043                                          return -1;                                          return -1;
1044                                  fprintf(f,"%u",sbrk(0));                                  fprintf(f,"%u",sbrk(0));
# Line 1022  if test "$HAVE_SBRK" = "1" ; then Line 1049  if test "$HAVE_SBRK" = "1" ; then
1049                          AC_MSG_RESULT(cannot trap sbrk)                          AC_MSG_RESULT(cannot trap sbrk)
1050                          exit 1                          exit 1
1051                  fi                  fi
1052                    AC_MSG_CHECKING([for randomized brk remedy])
1053                  if test "$SBRK" = "$SBRK1" ; then                  if test "$SBRK" = "$SBRK1" ; then
1054                          AC_MSG_RESULT(yes)                          AC_MSG_RESULT(yes)
1055                          AC_DEFINE(NEED_NONRANDOM_SBRK)                          AC_DEFINE(NEED_NONRANDOM_SBRK)
# Line 1126  AC_TRY_RUN([#include <stdio.h> Line 1154  AC_TRY_RUN([#include <stdio.h>
1154              #include <stdlib.h>              #include <stdlib.h>
1155              #ifdef NEED_NONRANDOM_SBRK              #ifdef NEED_NONRANDOM_SBRK
1156                     #include <syscall.h>                     #include <syscall.h>
1157                     #include <linux/personality.h>                     #include <sys/personality.h>
1158                     #include <unistd.h>                     #include <unistd.h>
1159             #endif             #endif
1160  int  int
# Line 1136  main(int argc,char * argv[]) Line 1164  main(int argc,char * argv[])
1164    FILE *fp;    FILE *fp;
1165    
1166  #ifdef NEED_NONRANDOM_SBRK  #ifdef NEED_NONRANDOM_SBRK
1167  #if SIZEOF_LONG == 4    pers=personality(-1);
1168  if (!syscall(SYS_personality,PER_LINUX32))    if (!(pers & ADDR_NO_RANDOMIZE)) {
1169  #else     personality(pers | ADDR_NO_RANDOMIZE);
1170  if (!syscall(SYS_personality,PER_LINUX))     execve(*argv,argv,envp);
1171      }
1172  #endif  #endif
      execvp(argv[0],argv);  
 #endif    
1173    b = (void *) malloc(1000);    b = (void *) malloc(1000);
1174    fp = fopen("conftest1","w");    fp = fopen("conftest1","w");
1175    

Legend:
Removed from v.1.200  
changed lines
  Added in v.1.201

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26