mrrl

Minimal Reliable Reproducible Linux
git clone https://ccx.te2000.cz/git/mrrl
Log | Files | Refs | Submodules | README

zsh-5.9-implicit.patch (16591B)


      1 https://bugs.gentoo.org/869539
      2 https://www.zsh.org/mla/workers/2022/msg00964.html
      3 --- a/configure.ac
      4 +++ b/configure.ac
      5 @@ -583,11 +583,11 @@ if test x$zsh_cv_c_have_union_init = xye
      6  fi
      7  
      8  dnl  Checking if compiler correctly cast signed to unsigned.
      9  AC_CACHE_CHECK(if signed to unsigned casting is broken,
     10  zsh_cv_c_broken_signed_to_unsigned_casting,
     11 -[AC_RUN_IFELSE([AC_LANG_SOURCE([[main(){return((int)(unsigned char)((char) -1) == 255);}]])],[zsh_cv_c_broken_signed_to_unsigned_casting=yes],[zsh_cv_c_broken_signed_to_unsigned_casting=no],[zsh_cv_c_broken_signed_to_unsigned_casting=no])])
     12 +[AC_RUN_IFELSE([AC_LANG_SOURCE([[int main(){return((int)(unsigned char)((char) -1) == 255);}]])],[zsh_cv_c_broken_signed_to_unsigned_casting=yes],[zsh_cv_c_broken_signed_to_unsigned_casting=no],[zsh_cv_c_broken_signed_to_unsigned_casting=no])])
     13  AH_TEMPLATE([BROKEN_SIGNED_TO_UNSIGNED_CASTING],
     14  [Define to 1 if compiler incorrectly cast signed to unsigned.])
     15  if test x$zsh_cv_c_broken_signed_to_unsigned_casting = xyes; then
     16    AC_DEFINE(BROKEN_SIGNED_TO_UNSIGNED_CASTING)
     17  fi
     18 @@ -1044,21 +1044,21 @@ if test x$zsh_cv_long_is_64_bit = xyes;
     19  else
     20    AC_CACHE_CHECK(if off_t is 64 bit, zsh_cv_off_t_is_64_bit,
     21    [AC_RUN_IFELSE([AC_LANG_SOURCE([[
     22  #include <sys/types.h>
     23  
     24 -main() { return sizeof(off_t) < 8; }
     25 +int main() { return sizeof(off_t) < 8; }
     26  ]])],[zsh_cv_off_t_is_64_bit=yes],[zsh_cv_off_t_is_64_bit=no],[zsh_cv_off_t_is_64_bit=no])])
     27    if test x$zsh_cv_off_t_is_64_bit = xyes; then
     28      AC_DEFINE(OFF_T_IS_64_BIT)
     29    fi
     30  
     31    AC_CACHE_CHECK(if ino_t is 64 bit, zsh_cv_ino_t_is_64_bit,
     32    [AC_RUN_IFELSE([AC_LANG_SOURCE([[
     33  #include <sys/types.h>
     34  
     35 -main() { return sizeof(ino_t) < 8; }
     36 +int main() { return sizeof(ino_t) < 8; }
     37  ]])],[zsh_cv_ino_t_is_64_bit=yes],[zsh_cv_ino_t_is_64_bit=no],[zsh_cv_ino_t_is_64_bit=no])])
     38    if test x$zsh_cv_ino_t_is_64_bit = xyes; then
     39      AC_DEFINE(INO_T_IS_64_BIT)
     40    fi
     41  
     42 @@ -1394,22 +1394,22 @@ zsh_cv_func_tgetent_accepts_null,
     43  [AC_RUN_IFELSE([AC_LANG_SOURCE([[
     44  #include <fcntl.h>
     45  #include <stdlib.h>
     46  int tgetent(char *, char *);
     47  char *tgetstr(char *, char **);
     48 -main()
     49 +int main()
     50  {
     51      char buf[4096];
     52      int r1 = tgetent(buf, "vt100");
     53      int r2 = tgetent((char*)0,"vt100");
     54      if (r1 >= 0 && r1 == r2) {
     55          char tbuf[1024], *u;
     56          u = tbuf;
     57      	tgetstr("cl", &u);
     58  	creat("conftest.tgetent", 0640);
     59      }
     60 -    exit((r1 != r2) || r2 == -1);
     61 +    return((r1 != r2) || r2 == -1);
     62  }
     63  ]])],[if test -f conftest.tgetent; then
     64      zsh_cv_func_tgetent_accepts_null=yes
     65    else
     66      zsh_cv_func_tgetent_accepts_null=no
     67 @@ -1422,22 +1422,22 @@ zsh_cv_func_tgetent_zero_success,
     68  [AC_RUN_IFELSE([AC_LANG_SOURCE([[
     69  #include <fcntl.h>
     70  #include <stdlib.h>
     71  int tgetent(char *, char*);
     72  char *tgetstr(char *, char **);
     73 -main()
     74 +int main()
     75  {
     76      char buf[4096];
     77      int r1 = tgetent(buf, "!@#$%^&*");
     78      int r2 = tgetent(buf, "vt100");
     79      if (r1 < 0 && r2 == 0) {
     80          char tbuf[1024], *u;
     81          u = tbuf;
     82      	tgetstr("cl", &u);
     83  	creat("conftest.tgetent0", 0640);
     84      }
     85 -    exit(r1 == r2);
     86 +    return(r1 == r2);
     87  }
     88  ]])],[if test -f conftest.tgetent0; then
     89      zsh_cv_func_tgetent_zero_success=yes
     90    else
     91      zsh_cv_func_tgetent_zero_success=no
     92 @@ -1860,27 +1860,27 @@ zsh_cv_rlim_t_is_longer,
     93  #ifdef HAVE_SYS_TIME_H
     94  #include <sys/time.h>
     95  #endif
     96  #include <sys/resource.h>
     97  #include <stdlib.h>
     98 -main(){struct rlimit r;exit(sizeof(r.rlim_cur) <= sizeof(long));}]])],[zsh_cv_rlim_t_is_longer=yes],[zsh_cv_rlim_t_is_longer=no],[zsh_cv_rlim_t_is_longer=yes])])
     99 +int main(){struct rlimit r;return(sizeof(r.rlim_cur) <= sizeof(long));}]])],[zsh_cv_rlim_t_is_longer=yes],[zsh_cv_rlim_t_is_longer=no],[zsh_cv_rlim_t_is_longer=yes])])
    100  if test x$zsh_cv_rlim_t_is_longer = xyes; then
    101    AC_CACHE_CHECK(if rlim_t is a quad,
    102    zsh_cv_rlim_t_is_quad_t,
    103    [AC_RUN_IFELSE([AC_LANG_SOURCE([[
    104  #ifdef HAVE_SYS_TIME_H
    105  #include <sys/time.h>
    106  #endif
    107  #include <stdio.h>
    108  #include <sys/resource.h>
    109  #include <stdlib.h>
    110 -main() { 
    111 +int main() { 
    112    struct rlimit r;
    113    char buf[20];
    114    r.rlim_cur = 0;
    115    sprintf(buf, "%qd", r.rlim_cur);
    116 -  exit(strcmp(buf, "0"));
    117 +  return(strcmp(buf, "0"));
    118  }]])],[zsh_cv_rlim_t_is_quad_t=yes],[zsh_cv_rlim_t_is_quad_t=no],[zsh_cv_rlim_t_is_quad_t=no])])
    119    if test x$zsh_cv_rlim_t_is_quad_t = xyes; then
    120      AC_DEFINE(RLIM_T_IS_QUAD_T)
    121      DEFAULT_RLIM_T=quad_t
    122    else
    123 @@ -1894,11 +1894,11 @@ else
    124  #ifdef HAVE_SYS_TIME_H
    125  #include <sys/time.h>
    126  #endif
    127  #include <sys/resource.h>
    128  #include <stdlib.h>
    129 -  main(){struct rlimit r;r.rlim_cur=-1;exit(r.rlim_cur<0);}]])],[zsh_cv_type_rlim_t_is_unsigned=yes],[zsh_cv_type_rlim_t_is_unsigned=no],[zsh_cv_type_rlim_t_is_unsigned=no])])
    130 +  int main(){struct rlimit r;r.rlim_cur=-1;return(r.rlim_cur<0);}]])],[zsh_cv_type_rlim_t_is_unsigned=yes],[zsh_cv_type_rlim_t_is_unsigned=no],[zsh_cv_type_rlim_t_is_unsigned=no])])
    131    if test x$zsh_cv_type_rlim_t_is_unsigned = xyes; then
    132      AC_DEFINE(RLIM_T_IS_UNSIGNED)
    133      DEFAULT_RLIM_T="unsigned $DEFAULT_RLIM_T"
    134    fi
    135  fi
    136 @@ -2175,11 +2175,11 @@ zsh_cv_sys_fifo,
    137  #include <fcntl.h>
    138  #include <signal.h>
    139  #include <unistd.h>
    140  #include <stdlib.h>
    141  #include <sys/stat.h>
    142 -main()
    143 +int main()
    144  {
    145      char c;
    146      int fd;
    147      int pid, ret;
    148      unlink("/tmp/fifo$$");
    149 @@ -2189,19 +2189,19 @@ main()
    150      if(mknod("/tmp/fifo$$", 0010600, 0) < 0)
    151  #endif
    152  	exit(1);
    153      pid = fork();
    154      if(pid < 0)
    155 -	exit(1);
    156 +	return(1);
    157      if(pid) {
    158  	fd = open("/tmp/fifo$$", O_RDONLY);
    159 -	exit(fd < 0 || read(fd, &c, 1) != 1 || c != 'x');
    160 +	return(fd < 0 || read(fd, &c, 1) != 1 || c != 'x');
    161      }
    162      fd = open("/tmp/fifo$$", O_WRONLY);
    163      ret = (fd < 0 || write(fd, "x", 1) < 1);
    164      unlink("/tmp/fifo$$");
    165 -    exit(ret);
    166 +    return(ret);
    167  }
    168  ]])],[zsh_cv_sys_fifo=yes],[zsh_cv_sys_fifo=no],[zsh_cv_sys_fifo=yes])
    169  ])
    170  AH_TEMPLATE([HAVE_FIFOS],
    171  [Define to 1 if system has working FIFOs.])
    172 @@ -2276,24 +2276,24 @@ AC_CACHE_CHECK(if link() works,
    173  zsh_cv_sys_link,
    174  [AC_RUN_IFELSE([AC_LANG_SOURCE([[
    175  #include <unistd.h>
    176  #include <fcntl.h>
    177  #include <stdlib.h>
    178 -main()
    179 +int main()
    180  {
    181      int ret;
    182      char *tmpfile, *newfile;
    183      tmpfile="/tmp/zsh.linktest$$";
    184      newfile="/tmp/zsh.linktest2$$";
    185      unlink(tmpfile);
    186      unlink(newfile);
    187      if(creat(tmpfile, 0644) < 0)
    188 -	exit(1);
    189 +	return(1);
    190      ret = link(tmpfile, newfile);
    191      unlink(tmpfile);
    192      unlink(newfile);
    193 -    exit(ret<0);
    194 +    return(ret<0);
    195  }
    196  ]])],[zsh_cv_sys_link=yes],[zsh_cv_sys_link=no],[zsh_cv_sys_link=yes])])
    197  AH_TEMPLATE([HAVE_LINK],
    198  [Define to 1 if system has working link().])
    199  if test x$zsh_cv_sys_link = xyes; then
    200 @@ -2309,15 +2309,15 @@ zsh_cv_sys_killesrch,
    201  [AC_RUN_IFELSE([AC_LANG_SOURCE([[
    202  #include <unistd.h>
    203  #include <signal.h>
    204  #include <errno.h>
    205  #include <stdlib.h>
    206 -main()
    207 +int main()
    208  {
    209      int pid = (getpid() + 10000) & 0xffffff;
    210      while (pid && (kill(pid, 0) == 0 || errno != ESRCH)) pid >>= 1;
    211 -    exit(errno!=ESRCH);
    212 +    return(errno!=ESRCH);
    213  }
    214  ]])],[zsh_cv_sys_killesrch=yes],[zsh_cv_sys_killesrch=no],[zsh_cv_sys_killesrch=yes])])
    215  AH_TEMPLATE([BROKEN_KILL_ESRCH],
    216  [Define to 1 if kill(pid, 0) doesn't return ESRCH, ie BeOS R4.51.])
    217  if test x$zsh_cv_sys_killesrch = xno; then
    218 @@ -2339,11 +2339,11 @@ if test x$signals_style = xPOSIX_SIGNALS
    219  #include <stdlib.h>
    220  int child=0;
    221  void handler(sig)
    222      int sig;
    223  {if(sig==SIGCHLD) child=1;}
    224 -main() {
    225 +int main() {
    226      struct sigaction act;
    227      sigset_t set;
    228      int pid, ret;
    229      act.sa_handler = &handler;
    230      sigfillset(&act.sa_mask);
    231 @@ -2354,11 +2354,11 @@ main() {
    232      pid=fork();
    233      if(pid==0) return 0;
    234      if(pid>0) {
    235      sigemptyset(&set);
    236          ret=sigsuspend(&set);
    237 -        exit(child==0);
    238 +        return(child==0);
    239      }
    240  }
    241  ]])],[zsh_cv_sys_sigsuspend=yes],[zsh_cv_sys_sigsuspend=no],[zsh_cv_sys_sigsuspend=yes])])
    242      if test x$zsh_cv_sys_sigsuspend = xno; then
    243        AC_DEFINE(BROKEN_POSIX_SIGSUSPEND)
    244 @@ -2387,18 +2387,18 @@ case "x$zsh_working_tcsetpgrp" in
    245      [AC_RUN_IFELSE([AC_LANG_SOURCE([[
    246  #include <sys/types.h>
    247  #include <unistd.h>
    248  #include <fcntl.h>
    249  #include <stdlib.h>
    250 -main() {
    251 +int main() {
    252      int fd;
    253      int ret;
    254      fd=open("/dev/tty", O_RDWR);
    255      if (fd < 0) exit(2);
    256      ret=tcsetpgrp(fd, tcgetpgrp(fd));
    257      if (ret < 0) exit(1);
    258 -    exit(0);
    259 +    return(0);
    260  }
    261  ]])],[zsh_cv_sys_tcsetpgrp=yes],[
    262  case $? in
    263      1) zsh_cv_sys_tcsetpgrp=no;;
    264      2) zsh_cv_sys_tcsetpgrp=notty;;
    265 @@ -2434,19 +2434,19 @@ if test x$ac_cv_func_getpwnam = xyes; th
    266  #include <pwd.h>
    267  #include <stdio.h>
    268  #include <string.h>
    269  #include <stdlib.h>
    270  #include <unistd.h>
    271 -main() {
    272 +int main() {
    273      struct passwd *pw1, *pw2;
    274      char buf[1024], name[1024];
    275      sprintf(buf, "%d:%d", getpid(), rand());
    276      pw1=getpwnam(buf);
    277      if (pw1) strcpy(name, pw1->pw_name);
    278      sprintf(buf, "%d:%d", rand(), getpid());
    279      pw2=getpwnam(buf);
    280 -    exit(pw1!=0 && pw2!=0 && !strcmp(name, pw2->pw_name));
    281 +    return(pw1!=0 && pw2!=0 && !strcmp(name, pw2->pw_name));
    282  }
    283  ]])],[zsh_cv_sys_getpwnam_faked=no],[zsh_cv_sys_getpwnam_faked=yes],[zsh_cv_sys_getpwnam_faked=no])])
    284      if test x$zsh_cv_sys_getpwnam_faked = xyes; then
    285        AC_DEFINE(GETPWNAM_FAKED)
    286      fi
    287 @@ -2763,22 +2763,20 @@ elif test "x$dynamic" = xyes; then
    288     zsh_cv_sys_elf,
    289     [AC_RUN_IFELSE([AC_LANG_SOURCE([[/* Test for whether ELF binaries are produced */
    290  #include <fcntl.h>
    291  #include <stdlib.h>
    292  #include <unistd.h>
    293 -main(argc, argv)
    294 -int argc;
    295 -char *argv[];
    296 +int main(int argc, char *argv[])
    297  {
    298  	char b[4];
    299  	int i = open(argv[0],O_RDONLY);
    300  	if(i == -1) 
    301  		exit(1); /* fail */
    302  	if(read(i,b,4)==4 && b[0]==127 && b[1]=='E' && b[2]=='L' && b[3]=='F')
    303 -		exit(0); /* succeed (yes, it's ELF) */
    304 +		return(0); /* succeed (yes, it's ELF) */
    305  	else
    306 -		exit(1); /* fail */
    307 +		return(1); /* fail */
    308  }]])],[zsh_cv_sys_elf=yes],[zsh_cv_sys_elf=no],[zsh_cv_sys_elf=yes])])
    309  
    310    # We use [0-9]* in case statements, so need to change quoting
    311    changequote(, )
    312  
    313 @@ -2908,11 +2908,11 @@ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[
    314  EXTRA_LDFLAGS="${EXTRA_LDFLAGS=-rdynamic}"],[zsh_cvs_rdynamic_available=no])
    315  LDFLAGS="$old_LDFLAGS")
    316    AC_CACHE_CHECK(if your dlsym() needs a leading underscore,
    317     zsh_cv_func_dlsym_needs_underscore,
    318     [echo failed >conftestval && cat >conftest.c <<EOM
    319 -fred () { }
    320 +void fred () { }
    321  EOM
    322      AC_TRY_COMMAND($CC -c $CFLAGS $CPPFLAGS $DLCFLAGS conftest.c 1>&AS_MESSAGE_LOG_FD) &&
    323      AC_TRY_COMMAND($DLLD $LDFLAGS $DLLDFLAGS -o conftest.$DL_EXT conftest.o 1>&AS_MESSAGE_LOG_FD) &&
    324      AC_RUN_IFELSE([AC_LANG_SOURCE([[
    325  #include <stdio.h>
    326 @@ -2943,34 +2941,34 @@ char *zsh_gl_sym_addr ;
    327  #define RTLD_LAZY 1
    328  #endif
    329  
    330  extern int fred() ;
    331  
    332 -main()
    333 +int main()
    334  {
    335      void * handle ;
    336      void * symbol ;
    337      FILE *f=fopen("conftestval", "w");
    338      if (!f) exit(1);
    339      handle = dlopen("./conftest.$DL_EXT", RTLD_LAZY) ;
    340      if (handle == NULL) {
    341          fprintf (f, "dlopen failed") ;
    342 -            exit(1);
    343 +            return(1);
    344      }
    345      symbol = dlsym(handle, "fred") ;
    346      if (symbol == NULL) {
    347                  /* try putting a leading underscore */
    348          symbol = dlsym(handle, "_fred") ;
    349          if (symbol == NULL) {
    350              fprintf (f, "dlsym failed") ;
    351 -                exit(1);
    352 +                return(1);
    353                  }
    354          fprintf (f, "yes") ;
    355      }
    356      else
    357          fprintf (f, "no") ;
    358 -    exit(0);
    359 +    return(0);
    360  }]])],[zsh_cv_func_dlsym_needs_underscore=`cat conftestval`],[zsh_cv_func_dlsym_needs_underscore=failed
    361      dynamic=no],[zsh_cv_func_dlsym_needs_underscore=no])])
    362    if test "x$zsh_cv_func_dlsym_needs_underscore" = xyes; then
    363      AC_DEFINE(DLSYM_NEEDS_UNDERSCORE)
    364    elif test "x$zsh_cv_func_dlsym_needs_underscore" != xno; then
    365 --- a/aczsh.m4.old
    366 +++ b/aczsh.m4
    367 @@ -42,10 +42,11 @@ AC_DEFUN(zsh_64_BIT_TYPE,
    368  [AC_RUN_IFELSE([AC_LANG_SOURCE([[
    369  #ifdef HAVE_SYS_TYPES_H
    370  #include <sys/types.h>
    371  #endif
    372  
    373 +int
    374  main()
    375  {
    376    $1 foo = 0; 
    377    int bar = (int) foo;
    378    return sizeof($1) != 8;
    379 @@ -144,33 +145,34 @@ char *zsh_gl_sym_addr ;
    380  #endif
    381  #ifndef RTLD_GLOBAL
    382  #define RTLD_GLOBAL 0
    383  #endif
    384  
    385 +int
    386  main()
    387  {
    388      void *handle1, *handle2;
    389      void *(*zsh_getaddr1)(), *(*zsh_getaddr2)();
    390      void *sym1, *sym2;
    391      handle1 = dlopen("./conftest1.$DL_EXT", RTLD_LAZY | RTLD_GLOBAL);
    392 -    if(!handle1) exit(1);
    393 +    if(!handle1) return(1);
    394      handle2 = dlopen("./conftest2.$DL_EXT", RTLD_LAZY | RTLD_GLOBAL);
    395 -    if(!handle2) exit(1);
    396 +    if(!handle2) return(1);
    397      zsh_getaddr1 = (void *(*)()) dlsym(handle1, "${us}zsh_getaddr1");
    398      zsh_getaddr2 = (void *(*)()) dlsym(handle2, "${us}zsh_getaddr2");
    399      sym1 = zsh_getaddr1();
    400      sym2 = zsh_getaddr2();
    401 -    if(!sym1 || !sym2) exit(1);
    402 -    if(sym1 != sym2) exit(1);
    403 +    if(!sym1 || !sym2) return(1);
    404 +    if(sym1 != sym2) return(1);
    405      dlclose(handle1);
    406      handle1 = dlopen("./conftest1.$DL_EXT", RTLD_LAZY | RTLD_GLOBAL);
    407 -    if(!handle1) exit(1);
    408 +    if(!handle1) return(1);
    409      zsh_getaddr1 = (void *(*)()) dlsym(handle1, "${us}zsh_getaddr1");
    410      sym1 = zsh_getaddr1();
    411 -    if(!sym1) exit(1);
    412 -    if(sym1 != sym2) exit(1);
    413 -    exit(0);
    414 +    if(!sym1) return(1);
    415 +    if(sym1 != sym2) return(1);
    416 +    return(0);
    417  }
    418  ]])],[zsh_cv_shared_$1=yes],
    419  [zsh_cv_shared_$1=no],
    420  [zsh_cv_shared_$1=no]
    421  )
    422 @@ -226,23 +228,23 @@ char *zsh_gl_sym_addr ;
    423  #endif
    424  #ifndef RTLD_GLOBAL
    425  #define RTLD_GLOBAL 0
    426  #endif
    427  
    428 -
    429 +int
    430  main()
    431  {
    432      void *handle1, *handle2;
    433      int (*fred1)(), (*fred2)();
    434      handle1 = dlopen("./conftest1.$DL_EXT", RTLD_LAZY | RTLD_GLOBAL);
    435 -    if(!handle1) exit(1);
    436 +    if(!handle1) return(1);
    437      handle2 = dlopen("./conftest2.$DL_EXT", RTLD_LAZY | RTLD_GLOBAL);
    438 -    if(!handle2) exit(1);
    439 +    if(!handle2) return(1);
    440      fred1 = (int (*)()) dlsym(handle1, "${us}fred");
    441      fred2 = (int (*)()) dlsym(handle2, "${us}fred");
    442 -    if(!fred1 || !fred2) exit(1);
    443 -    exit((*fred1)() != 42 || (*fred2)() != 69);
    444 +    if(!fred1 || !fred2) return(1);
    445 +    return((*fred1)() != 42 || (*fred2)() != 69);
    446  }
    447  ]])],[zsh_cv_sys_dynamic_clash_ok=yes],
    448  [zsh_cv_sys_dynamic_clash_ok=no],
    449  [zsh_cv_sys_dynamic_clash_ok=no]
    450  )
    451 @@ -302,21 +304,22 @@ char *zsh_gl_sym_addr ;
    452  #endif
    453  #ifndef RTLD_GLOBAL
    454  #define RTLD_GLOBAL 0
    455  #endif
    456  
    457 +int
    458  main()
    459  {
    460      void *handle;
    461      int (*barneysym)();
    462      handle = dlopen("./conftest1.$DL_EXT", RTLD_LAZY | RTLD_GLOBAL);
    463 -    if(!handle) exit(1);
    464 +    if(!handle) return(1);
    465      handle = dlopen("./conftest2.$DL_EXT", RTLD_LAZY | RTLD_GLOBAL);
    466 -    if(!handle) exit(1);
    467 +    if(!handle) return(1);
    468      barneysym = (int (*)()) dlsym(handle, "${us}barney");
    469 -    if(!barneysym) exit(1);
    470 -    exit((*barneysym)() != 69);
    471 +    if(!barneysym) return(1);
    472 +    return((*barneysym)() != 69);
    473  }
    474  ]])],[zsh_cv_sys_dynamic_rtld_global=yes],
    475  [zsh_cv_sys_dynamic_rtld_global=no],
    476  [zsh_cv_sys_dynamic_rtld_global=no]
    477  )
    478 @@ -372,19 +375,20 @@ char *zsh_gl_sym_addr ;
    479  #endif
    480  #ifndef RTLD_GLOBAL
    481  #define RTLD_GLOBAL 0
    482  #endif
    483  
    484 +int
    485  main()
    486  {
    487      void *handle;
    488      int (*barneysym)();
    489      handle = dlopen("./conftest1.$DL_EXT", RTLD_LAZY | RTLD_GLOBAL);
    490 -    if(!handle) exit(1);
    491 +    if(!handle) return(1);
    492      barneysym = (int (*)()) dlsym(handle, "${us}barney");
    493 -    if(!barneysym) exit(1);
    494 -    exit((*barneysym)() != 69);
    495 +    if(!barneysym) return(1);
    496 +    return((*barneysym)() != 69);
    497  }
    498  
    499  int fred () { return 42; }
    500  ]])],[zsh_cv_sys_dynamic_execsyms=yes],
    501  [zsh_cv_sys_dynamic_execsyms=no],
    502 @@ -446,19 +450,20 @@ char *zsh_gl_sym_addr ;
    503  #endif
    504  #ifndef RTLD_GLOBAL
    505  #define RTLD_GLOBAL 0
    506  #endif
    507  
    508 +int
    509  main()
    510  {
    511      void *handle;
    512      int (*barneysym)();
    513      handle = dlopen("./conftest1.$DL_EXT", RTLD_LAZY | RTLD_GLOBAL);
    514 -    if(!handle) exit(1);
    515 +    if(!handle) return(1);
    516      barneysym = (int (*)()) dlsym(handle, "${us}barney");
    517 -    if(!barneysym) exit(1);
    518 -    exit((*barneysym)() != 69);
    519 +    if(!barneysym) return(1);
    520 +    return((*barneysym)() != 69);
    521  }
    522  
    523  int fred () { return 42; }
    524  ]])],[zsh_cv_sys_dynamic_strip_exe=yes],
    525  [zsh_cv_sys_dynamic_strip_exe=no],
    526 @@ -514,19 +519,20 @@ char *zsh_gl_sym_addr ;
    527  #endif
    528  #ifndef RTLD_GLOBAL
    529  #define RTLD_GLOBAL 0
    530  #endif
    531  
    532 +int
    533  main()
    534  {
    535      void *handle;
    536      int (*fredsym)();
    537      handle = dlopen("./conftest1.$DL_EXT", RTLD_LAZY | RTLD_GLOBAL);
    538 -    if(!handle) exit(1);
    539 +    if(!handle) return(1);
    540      fredsym = (int (*)()) dlsym(handle, "${us}fred");
    541 -    if(!fredsym) exit(1);
    542 -    exit((*fredsym)() != 42);
    543 +    if(!fredsym) return(1);
    544 +    return((*fredsym)() != 42);
    545  }
    546  ]])],[zsh_cv_sys_dynamic_strip_lib=yes],
    547  [zsh_cv_sys_dynamic_strip_lib=no],
    548  [zsh_cv_sys_dynamic_strip_lib=no]
    549  )
    550