Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
[PATCH v2] Fix configure test build errors with clang-15
- X-seq: zsh-workers 50641
- From: Nicholas Vinson <nvinson234@xxxxxxxxx>
- To: zsh-workers@xxxxxxx
- Cc: Nicholas Vinson <nvinson234@xxxxxxxxx>
- Subject: [PATCH v2] Fix configure test build errors with clang-15
- Date: Fri, 16 Sep 2022 07:57:12 -0400
- Archived-at: <https://zsh.org/workers/50641>
- List-id: <zsh-workers.zsh.org>
When building with clang-15.0.0, I discovered several configure tests
incorrectly fail because clang-15.0.0 errors with messages similar to:
"error: type specifier missing, defaults to 'int'"
and similar such errors. These failed tests ultimately cause zsh to be
built incorrectly, and can cause commands such as eval to hang
indefinitely. For an example of this behavior please see
https://bugs.gentoo.org/869539. This patch fixes the configure tests, so
they do not incorrectly fail.
Thanks,
Nicholas Vinson
Signed-off-by: Nicholas Vinson <nvinson234@xxxxxxxxx>
---
aczsh.m4 | 64 +++++++++++++++++------------------
configure.ac | 94 ++++++++++++++++++++++------------------------------
2 files changed, 72 insertions(+), 86 deletions(-)
diff --git a/aczsh.m4 b/aczsh.m4
index 1209ac614..b31236020 100644
--- a/aczsh.m4
+++ b/aczsh.m4
@@ -44,6 +44,7 @@ AC_DEFUN(zsh_64_BIT_TYPE,
#include <sys/types.h>
#endif
+int
main()
{
$1 foo = 0;
@@ -118,7 +119,6 @@ AC_TRY_COMMAND($DLLD -o conftest1.$DL_EXT $LDFLAGS $DLLDFLAGS conftest1.o $LIBS
AC_TRY_COMMAND($CC -c $CFLAGS $CPPFLAGS $DLCFLAGS conftest2.c 1>&AS_MESSAGE_LOG_FD) &&
AC_TRY_COMMAND($DLLD -o conftest2.$DL_EXT $LDFLAGS $DLLDFLAGS conftest2.o $LIBS 1>&AS_MESSAGE_LOG_FD); then
AC_RUN_IFELSE([AC_LANG_SOURCE([[
-#include <stdlib.h>
#ifdef HPUX10DYNAMIC
#include <dl.h>
#define RTLD_LAZY BIND_DEFERRED
@@ -146,29 +146,30 @@ char *zsh_gl_sym_addr ;
#define RTLD_GLOBAL 0
#endif
+int
main()
{
void *handle1, *handle2;
void *(*zsh_getaddr1)(), *(*zsh_getaddr2)();
void *sym1, *sym2;
handle1 = dlopen("./conftest1.$DL_EXT", RTLD_LAZY | RTLD_GLOBAL);
- if(!handle1) exit(1);
+ if(!handle1) return(1);
handle2 = dlopen("./conftest2.$DL_EXT", RTLD_LAZY | RTLD_GLOBAL);
- if(!handle2) exit(1);
+ if(!handle2) return(1);
zsh_getaddr1 = (void *(*)()) dlsym(handle1, "${us}zsh_getaddr1");
zsh_getaddr2 = (void *(*)()) dlsym(handle2, "${us}zsh_getaddr2");
sym1 = zsh_getaddr1();
sym2 = zsh_getaddr2();
- if(!sym1 || !sym2) exit(1);
- if(sym1 != sym2) exit(1);
+ if(!sym1 || !sym2) return(1);
+ if(sym1 != sym2) return(1);
dlclose(handle1);
handle1 = dlopen("./conftest1.$DL_EXT", RTLD_LAZY | RTLD_GLOBAL);
- if(!handle1) exit(1);
+ if(!handle1) return(1);
zsh_getaddr1 = (void *(*)()) dlsym(handle1, "${us}zsh_getaddr1");
sym1 = zsh_getaddr1();
- if(!sym1) exit(1);
- if(sym1 != sym2) exit(1);
- exit(0);
+ if(!sym1) return(1);
+ if(sym1 != sym2) return(1);
+ return(0);
}
]])],[zsh_cv_shared_$1=yes],
[zsh_cv_shared_$1=no],
@@ -200,7 +201,6 @@ AC_TRY_COMMAND($DLLD -o conftest1.$DL_EXT $LDFLAGS $DLLDFLAGS conftest1.o $LIBS
AC_TRY_COMMAND($CC -c $CFLAGS $CPPFLAGS $DLCFLAGS conftest2.c 1>&AS_MESSAGE_LOG_FD) &&
AC_TRY_COMMAND($DLLD -o conftest2.$DL_EXT $LDFLAGS $DLLDFLAGS conftest2.o $LIBS 1>&AS_MESSAGE_LOG_FD); then
AC_RUN_IFELSE([AC_LANG_SOURCE([[
-#include <stdlib.h>
#ifdef HPUX10DYNAMIC
#include <dl.h>
#define RTLD_LAZY BIND_DEFERRED
@@ -228,19 +228,19 @@ char *zsh_gl_sym_addr ;
#define RTLD_GLOBAL 0
#endif
-
+int
main()
{
void *handle1, *handle2;
int (*fred1)(), (*fred2)();
handle1 = dlopen("./conftest1.$DL_EXT", RTLD_LAZY | RTLD_GLOBAL);
- if(!handle1) exit(1);
+ if(!handle1) return(1);
handle2 = dlopen("./conftest2.$DL_EXT", RTLD_LAZY | RTLD_GLOBAL);
- if(!handle2) exit(1);
+ if(!handle2) return(1);
fred1 = (int (*)()) dlsym(handle1, "${us}fred");
fred2 = (int (*)()) dlsym(handle2, "${us}fred");
- if(!fred1 || !fred2) exit(1);
- exit((*fred1)() != 42 || (*fred2)() != 69);
+ if(!fred1 || !fred2) return(1);
+ return((*fred1)() != 42 || (*fred2)() != 69);
}
]])],[zsh_cv_sys_dynamic_clash_ok=yes],
[zsh_cv_sys_dynamic_clash_ok=no],
@@ -276,7 +276,6 @@ AC_TRY_COMMAND($DLLD -o conftest1.$DL_EXT $LDFLAGS $DLLDFLAGS conftest1.o $LIBS
AC_TRY_COMMAND($CC -c $CFLAGS $CPPFLAGS $DLCFLAGS conftest2.c 1>&AS_MESSAGE_LOG_FD) &&
AC_TRY_COMMAND($DLLD -o conftest2.$DL_EXT $LDFLAGS $DLLDFLAGS conftest2.o $LIBS 1>&AS_MESSAGE_LOG_FD); then
AC_RUN_IFELSE([AC_LANG_SOURCE([[
-#include <stdlib.h>
#ifdef HPUX10DYNAMIC
#include <dl.h>
#define RTLD_LAZY BIND_DEFERRED
@@ -304,17 +303,18 @@ char *zsh_gl_sym_addr ;
#define RTLD_GLOBAL 0
#endif
+int
main()
{
void *handle;
int (*barneysym)();
handle = dlopen("./conftest1.$DL_EXT", RTLD_LAZY | RTLD_GLOBAL);
- if(!handle) exit(1);
+ if(!handle) return(1);
handle = dlopen("./conftest2.$DL_EXT", RTLD_LAZY | RTLD_GLOBAL);
- if(!handle) exit(1);
+ if(!handle) return(1);
barneysym = (int (*)()) dlsym(handle, "${us}barney");
- if(!barneysym) exit(1);
- exit((*barneysym)() != 69);
+ if(!barneysym) return(1);
+ return((*barneysym)() != 69);
}
]])],[zsh_cv_sys_dynamic_rtld_global=yes],
[zsh_cv_sys_dynamic_rtld_global=no],
@@ -346,7 +346,6 @@ AC_TRY_COMMAND($DLLD -o conftest1.$DL_EXT $LDFLAGS $DLLDFLAGS conftest1.o $LIBS
save_ldflags=$LDFLAGS
LDFLAGS="$LDFLAGS $EXTRA_LDFLAGS"
AC_RUN_IFELSE([AC_LANG_SOURCE([[
-#include <stdlib.h>
#ifdef HPUX10DYNAMIC
#include <dl.h>
#define RTLD_LAZY BIND_DEFERRED
@@ -374,15 +373,16 @@ char *zsh_gl_sym_addr ;
#define RTLD_GLOBAL 0
#endif
+int
main()
{
void *handle;
int (*barneysym)();
handle = dlopen("./conftest1.$DL_EXT", RTLD_LAZY | RTLD_GLOBAL);
- if(!handle) exit(1);
+ if(!handle) return(1);
barneysym = (int (*)()) dlsym(handle, "${us}barney");
- if(!barneysym) exit(1);
- exit((*barneysym)() != 69);
+ if(!barneysym) return(1);
+ return((*barneysym)() != 69);
}
int fred () { return 42; }
@@ -420,7 +420,6 @@ elif
save_ldflags=$LDFLAGS
LDFLAGS="$LDFLAGS $EXTRA_LDFLAGS -s"
AC_RUN_IFELSE([AC_LANG_SOURCE([[
-#include <stdlib.h>
#ifdef HPUX10DYNAMIC
#include <dl.h>
#define RTLD_LAZY BIND_DEFERRED
@@ -448,15 +447,16 @@ char *zsh_gl_sym_addr ;
#define RTLD_GLOBAL 0
#endif
+int
main()
{
void *handle;
int (*barneysym)();
handle = dlopen("./conftest1.$DL_EXT", RTLD_LAZY | RTLD_GLOBAL);
- if(!handle) exit(1);
+ if(!handle) return(1);
barneysym = (int (*)()) dlsym(handle, "${us}barney");
- if(!barneysym) exit(1);
- exit((*barneysym)() != 69);
+ if(!barneysym) return(1);
+ return((*barneysym)() != 69);
}
int fred () { return 42; }
@@ -488,7 +488,6 @@ echo 'int fred () { return 42; }' > conftest1.c
if AC_TRY_COMMAND($CC -c $CFLAGS $CPPFLAGS $DLCFLAGS conftest1.c 1>&AS_MESSAGE_LOG_FD) &&
AC_TRY_COMMAND($DLLD -o conftest1.$DL_EXT $LDFLAGS $DLLDFLAGS -s conftest1.o $LIBS 1>&AS_MESSAGE_LOG_FD); then
AC_RUN_IFELSE([AC_LANG_SOURCE([[
-#include <stdlib.h>
#ifdef HPUX10DYNAMIC
#include <dl.h>
#define RTLD_LAZY BIND_DEFERRED
@@ -516,15 +515,16 @@ char *zsh_gl_sym_addr ;
#define RTLD_GLOBAL 0
#endif
+int
main()
{
void *handle;
int (*fredsym)();
handle = dlopen("./conftest1.$DL_EXT", RTLD_LAZY | RTLD_GLOBAL);
- if(!handle) exit(1);
+ if(!handle) return(1);
fredsym = (int (*)()) dlsym(handle, "${us}fred");
- if(!fredsym) exit(1);
- exit((*fredsym)() != 42);
+ if(!fredsym) return(1);
+ return((*fredsym)() != 42);
}
]])],[zsh_cv_sys_dynamic_strip_lib=yes],
[zsh_cv_sys_dynamic_strip_lib=no],
diff --git a/configure.ac b/configure.ac
index 890ef8dd2..074141d38 100644
--- a/configure.ac
+++ b/configure.ac
@@ -585,7 +585,7 @@ fi
dnl Checking if compiler correctly cast signed to unsigned.
AC_CACHE_CHECK(if signed to unsigned casting is broken,
zsh_cv_c_broken_signed_to_unsigned_casting,
-[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])])
+[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])])
AH_TEMPLATE([BROKEN_SIGNED_TO_UNSIGNED_CASTING],
[Define to 1 if compiler incorrectly cast signed to unsigned.])
if test x$zsh_cv_c_broken_signed_to_unsigned_casting = xyes; then
@@ -1046,7 +1046,7 @@ else
[AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include <sys/types.h>
-main() { return sizeof(off_t) < 8; }
+int main() { return sizeof(off_t) < 8; }
]])],[zsh_cv_off_t_is_64_bit=yes],[zsh_cv_off_t_is_64_bit=no],[zsh_cv_off_t_is_64_bit=no])])
if test x$zsh_cv_off_t_is_64_bit = xyes; then
AC_DEFINE(OFF_T_IS_64_BIT)
@@ -1056,7 +1056,7 @@ main() { return sizeof(off_t) < 8; }
[AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include <sys/types.h>
-main() { return sizeof(ino_t) < 8; }
+int main() { return sizeof(ino_t) < 8; }
]])],[zsh_cv_ino_t_is_64_bit=yes],[zsh_cv_ino_t_is_64_bit=no],[zsh_cv_ino_t_is_64_bit=no])])
if test x$zsh_cv_ino_t_is_64_bit = xyes; then
AC_DEFINE(INO_T_IS_64_BIT)
@@ -1369,7 +1369,7 @@ zsh_cv_func_realpath_accepts_null,
#include <stdlib.h>
#include <limits.h>
],[
-exit(!realpath("/", (char*)0));
+return(!realpath("/", (char*)0));
])],
[zsh_cv_func_realpath_accepts_null=yes],
[zsh_cv_func_realpath_accepts_null=no],
@@ -1393,10 +1393,9 @@ AC_CACHE_CHECK(if tgetent accepts NULL,
zsh_cv_func_tgetent_accepts_null,
[AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include <fcntl.h>
-#include <stdlib.h>
int tgetent(char *, char *);
char *tgetstr(char *, char **);
-main()
+int main()
{
char buf[4096];
int r1 = tgetent(buf, "vt100");
@@ -1407,7 +1406,7 @@ main()
tgetstr("cl", &u);
creat("conftest.tgetent", 0640);
}
- exit((r1 != r2) || r2 == -1);
+ return((r1 != r2) || r2 == -1);
}
]])],[if test -f conftest.tgetent; then
zsh_cv_func_tgetent_accepts_null=yes
@@ -1421,10 +1420,9 @@ AC_CACHE_CHECK(if tgetent returns 0 on success,
zsh_cv_func_tgetent_zero_success,
[AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include <fcntl.h>
-#include <stdlib.h>
int tgetent(char *, char*);
char *tgetstr(char *, char **);
-main()
+int main()
{
char buf[4096];
int r1 = tgetent(buf, "!@#$%^&*");
@@ -1435,7 +1433,7 @@ main()
tgetstr("cl", &u);
creat("conftest.tgetent0", 0640);
}
- exit(r1 == r2);
+ return(r1 == r2);
}
]])],[if test -f conftest.tgetent0; then
zsh_cv_func_tgetent_zero_success=yes
@@ -1869,8 +1867,7 @@ zsh_cv_rlim_t_is_longer,
#include <sys/time.h>
#endif
#include <sys/resource.h>
-#include <stdlib.h>
-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])])
+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])])
if test x$zsh_cv_rlim_t_is_longer = xyes; then
AC_CACHE_CHECK(if rlim_t is a quad,
zsh_cv_rlim_t_is_quad_t,
@@ -1880,13 +1877,12 @@ if test x$zsh_cv_rlim_t_is_longer = xyes; then
#endif
#include <stdio.h>
#include <sys/resource.h>
-#include <stdlib.h>
-main() {
+int main() {
struct rlimit r;
char buf[20];
r.rlim_cur = 0;
sprintf(buf, "%qd", r.rlim_cur);
- exit(strcmp(buf, "0"));
+ return(strcmp(buf, "0"));
}]])],[zsh_cv_rlim_t_is_quad_t=yes],[zsh_cv_rlim_t_is_quad_t=no],[zsh_cv_rlim_t_is_quad_t=no])])
if test x$zsh_cv_rlim_t_is_quad_t = xyes; then
AC_DEFINE(RLIM_T_IS_QUAD_T)
@@ -1903,8 +1899,7 @@ else
#include <sys/time.h>
#endif
#include <sys/resource.h>
-#include <stdlib.h>
- 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])])
+ 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])])
if test x$zsh_cv_type_rlim_t_is_unsigned = xyes; then
AC_DEFINE(RLIM_T_IS_UNSIGNED)
DEFAULT_RLIM_T="unsigned $DEFAULT_RLIM_T"
@@ -2187,9 +2182,8 @@ zsh_cv_sys_fifo,
#include <fcntl.h>
#include <signal.h>
#include <unistd.h>
-#include <stdlib.h>
#include <sys/stat.h>
-main()
+int main()
{
char c;
int fd;
@@ -2200,18 +2194,18 @@ main()
#else
if(mknod("/tmp/fifo$$", 0010600, 0) < 0)
#endif
- exit(1);
+ return(1);
pid = fork();
if(pid < 0)
- exit(1);
+ return(1);
if(pid) {
fd = open("/tmp/fifo$$", O_RDONLY);
- exit(fd < 0 || read(fd, &c, 1) != 1 || c != 'x');
+ return(fd < 0 || read(fd, &c, 1) != 1 || c != 'x');
}
fd = open("/tmp/fifo$$", O_WRONLY);
ret = (fd < 0 || write(fd, "x", 1) < 1);
unlink("/tmp/fifo$$");
- exit(ret);
+ return(ret);
}
]])],[zsh_cv_sys_fifo=yes],[zsh_cv_sys_fifo=no],[zsh_cv_sys_fifo=yes])
])
@@ -2289,8 +2283,7 @@ zsh_cv_sys_link,
[AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include <unistd.h>
#include <fcntl.h>
-#include <stdlib.h>
-main()
+int main()
{
int ret;
char *tmpfile, *newfile;
@@ -2299,11 +2292,11 @@ main()
unlink(tmpfile);
unlink(newfile);
if(creat(tmpfile, 0644) < 0)
- exit(1);
+ return(1);
ret = link(tmpfile, newfile);
unlink(tmpfile);
unlink(newfile);
- exit(ret<0);
+ return(ret<0);
}
]])],[zsh_cv_sys_link=yes],[zsh_cv_sys_link=no],[zsh_cv_sys_link=yes])])
AH_TEMPLATE([HAVE_LINK],
@@ -2322,12 +2315,11 @@ zsh_cv_sys_killesrch,
#include <unistd.h>
#include <signal.h>
#include <errno.h>
-#include <stdlib.h>
-main()
+int main()
{
int pid = (getpid() + 10000) & 0xffffff;
while (pid && (kill(pid, 0) == 0 || errno != ESRCH)) pid >>= 1;
- exit(errno!=ESRCH);
+ return(errno!=ESRCH);
}
]])],[zsh_cv_sys_killesrch=yes],[zsh_cv_sys_killesrch=no],[zsh_cv_sys_killesrch=yes])])
AH_TEMPLATE([BROKEN_KILL_ESRCH],
@@ -2348,12 +2340,11 @@ if test x$signals_style = xPOSIX_SIGNALS; then
[AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include <signal.h>
#include <unistd.h>
-#include <stdlib.h>
int child=0;
void handler(sig)
int sig;
{if(sig==SIGCHLD) child=1;}
-main() {
+int main() {
struct sigaction act;
sigset_t set;
int pid, ret;
@@ -2368,7 +2359,7 @@ main() {
if(pid>0) {
sigemptyset(&set);
ret=sigsuspend(&set);
- exit(child==0);
+ return(child==0);
}
}
]])],[zsh_cv_sys_sigsuspend=yes],[zsh_cv_sys_sigsuspend=no],[zsh_cv_sys_sigsuspend=yes])])
@@ -2400,15 +2391,14 @@ case "x$zsh_working_tcsetpgrp" in
#include <sys/types.h>
#include <unistd.h>
#include <fcntl.h>
-#include <stdlib.h>
-main() {
+int main() {
int fd;
int ret;
fd=open("/dev/tty", O_RDWR);
- if (fd < 0) exit(2);
+ if (fd < 0) return(2);
ret=tcsetpgrp(fd, tcgetpgrp(fd));
- if (ret < 0) exit(1);
- exit(0);
+ if (ret < 0) return(1);
+ return(0);
}
]])],[zsh_cv_sys_tcsetpgrp=yes],[
case $? in
@@ -2448,7 +2438,7 @@ if test x$ac_cv_func_getpwnam = xyes; then
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
-main() {
+int main() {
struct passwd *pw1, *pw2;
char buf[1024], name[1024];
sprintf(buf, "%d:%d", getpid(), rand());
@@ -2456,7 +2446,7 @@ main() {
if (pw1) strcpy(name, pw1->pw_name);
sprintf(buf, "%d:%d", rand(), getpid());
pw2=getpwnam(buf);
- exit(pw1!=0 && pw2!=0 && !strcmp(name, pw2->pw_name));
+ return(pw1!=0 && pw2!=0 && !strcmp(name, pw2->pw_name));
}
]])],[zsh_cv_sys_getpwnam_faked=no],[zsh_cv_sys_getpwnam_faked=yes],[zsh_cv_sys_getpwnam_faked=no])])
if test x$zsh_cv_sys_getpwnam_faked = xyes; then
@@ -2775,20 +2765,17 @@ elif test "x$dynamic" = xyes; then
zsh_cv_sys_elf,
[AC_RUN_IFELSE([AC_LANG_SOURCE([[/* Test for whether ELF binaries are produced */
#include <fcntl.h>
-#include <stdlib.h>
#include <unistd.h>
-main(argc, argv)
-int argc;
-char *argv[];
+int main(int argc, char *argv[])
{
char b[4];
int i = open(argv[0],O_RDONLY);
if(i == -1)
- exit(1); /* fail */
+ return(1); /* fail */
if(read(i,b,4)==4 && b[0]==127 && b[1]=='E' && b[2]=='L' && b[3]=='F')
- exit(0); /* succeed (yes, it's ELF) */
+ return(0); /* succeed (yes, it's ELF) */
else
- exit(1); /* fail */
+ return(1); /* fail */
}]])],[zsh_cv_sys_elf=yes],[zsh_cv_sys_elf=no],[zsh_cv_sys_elf=yes])])
# We use [0-9]* in case statements, so need to change quoting
@@ -2924,13 +2911,12 @@ LDFLAGS="$old_LDFLAGS")
AC_CACHE_CHECK(if your dlsym() needs a leading underscore,
zsh_cv_func_dlsym_needs_underscore,
[echo failed >conftestval && cat >conftest.c <<EOM
-fred () { }
+void fred () { }
EOM
AC_TRY_COMMAND($CC -c $CFLAGS $CPPFLAGS $DLCFLAGS conftest.c 1>&AS_MESSAGE_LOG_FD) &&
AC_TRY_COMMAND($DLLD $LDFLAGS $DLLDFLAGS -o conftest.$DL_EXT conftest.o 1>&AS_MESSAGE_LOG_FD) &&
AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include <stdio.h>
-#include <stdlib.h>
#ifdef HPUX10DYNAMIC
#include <dl.h>
#define RTLD_LAZY BIND_DEFERRED
@@ -2957,16 +2943,16 @@ char *zsh_gl_sym_addr ;
extern int fred() ;
-main()
+int main()
{
void * handle ;
void * symbol ;
FILE *f=fopen("conftestval", "w");
- if (!f) exit(1);
+ if (!f) return(1);
handle = dlopen("./conftest.$DL_EXT", RTLD_LAZY) ;
if (handle == NULL) {
fprintf (f, "dlopen failed") ;
- exit(1);
+ return(1);
}
symbol = dlsym(handle, "fred") ;
if (symbol == NULL) {
@@ -2974,13 +2960,13 @@ main()
symbol = dlsym(handle, "_fred") ;
if (symbol == NULL) {
fprintf (f, "dlsym failed") ;
- exit(1);
+ return(1);
}
fprintf (f, "yes") ;
}
else
fprintf (f, "no") ;
- exit(0);
+ return(0);
}]])],[zsh_cv_func_dlsym_needs_underscore=`cat conftestval`],[zsh_cv_func_dlsym_needs_underscore=failed
dynamic=no],[zsh_cv_func_dlsym_needs_underscore=no])])
if test "x$zsh_cv_func_dlsym_needs_underscore" = xyes; then
--
2.37.3
Messages sorted by:
Reverse Date,
Date,
Thread,
Author