Fix building problem under Linux ELF systems; no nlist.h

This commit is contained in:
hag 1996-10-29 23:22:20 +00:00
parent 47fe4b82ae
commit 3d90d39924
4 changed files with 14 additions and 11 deletions

2
configure vendored
View File

@ -1620,7 +1620,7 @@ else
fi fi
echo "$ac_t""$CPP" 1>&6 echo "$ac_t""$CPP" 1>&6
for ac_hdr in libgen.h sys/timeb.h posix/time.h sys/select.h for ac_hdr in libgen.h sys/timeb.h posix/time.h sys/select.h nlist.h
do do
ac_safe=`echo "$ac_hdr" | tr './\055' '___'` ac_safe=`echo "$ac_hdr" | tr './\055' '___'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6

View File

@ -328,7 +328,7 @@ AC_CHECK_LIB(dld, shl_findsym)
dnl AC_CHECK_LIB(mld, main) dnl AC_CHECK_LIB(mld, main)
AC_RETSIGTYPE AC_RETSIGTYPE
AC_HAVE_HEADERS(libgen.h sys/timeb.h posix/time.h sys/select.h) AC_HAVE_HEADERS(libgen.h sys/timeb.h posix/time.h sys/select.h nlist.h)
AC_HAVE_FUNCS(strerror) AC_HAVE_FUNCS(strerror)
AC_HAVE_FUNCS(dlopen gettimeofday ftime nlist select setitimer sigaction) AC_HAVE_FUNCS(dlopen gettimeofday ftime nlist select setitimer sigaction)
AC_HAVE_FUNCS(socket chroot) AC_HAVE_FUNCS(socket chroot)

View File

@ -44,6 +44,10 @@
not-very-portable way of looking up external symbols. */ not-very-portable way of looking up external symbols. */
#undef HAVE_NLIST #undef HAVE_NLIST
/* Define if you have the nlist.h header file. Some systems (linux)
have nlist, but not nlist.h */
#undef HAVE_NLIST_H
/* Define if struct nlist, defined in <nlist.h>, has an n_name component. /* Define if struct nlist, defined in <nlist.h>, has an n_name component.
If it doesn't then we expect it to have an n_un component. */ If it doesn't then we expect it to have an n_un component. */
#undef NLIST_HAS_N_NAME #undef NLIST_HAS_N_NAME

17
unix.c
View File

@ -90,7 +90,7 @@
# include <sys/timeb.h> /* for ftime() */ # include <sys/timeb.h> /* for ftime() */
#endif #endif
#if defined(HAVE_NLIST) #if defined(HAVE_NLIST_H)
# include <nlist.h> /* conforms to "SVID2", whatever that is */ # include <nlist.h> /* conforms to "SVID2", whatever that is */
#endif #endif
@ -105,7 +105,7 @@ extern long Spending_interruptsS;
static RETSIGTYPE static RETSIGTYPE
when_keyboard_interrupt(sig, code, scp) when_keyboard_interrupt(sig, code, scp)
int sig, code; int sig, code;
struct sigcontext *scp; struct sigcontext *scp;
{ {
Spending_interruptsS |= (1 << INTERRUPT_KEYBOARD); Spending_interruptsS |= (1 << INTERRUPT_KEYBOARD);
@ -117,7 +117,7 @@ when_keyboard_interrupt(sig, code, scp)
static RETSIGTYPE static RETSIGTYPE
when_alarm_interrupt(sig, code, scp) when_alarm_interrupt(sig, code, scp)
int sig, code; int sig, code;
struct sigcontext *scp; struct sigcontext *scp;
{ {
Spending_interruptsS |= (1 << INTERRUPT_ALARM); Spending_interruptsS |= (1 << INTERRUPT_ALARM);
@ -148,7 +148,7 @@ sysdep_init()
sa.sa_handler = SIG_IGN; sa.sa_handler = SIG_IGN;
sigemptyset(&sa.sa_mask); sigemptyset(&sa.sa_mask);
sa.sa_flags = 0; sa.sa_flags = 0;
sigaction(SIGPIPE, &sa, NULL); sigaction(SIGPIPE, &sa, NULL);
} }
} }
@ -479,7 +479,7 @@ fill_the_table(void)
fprintf(stderr, "Error during external name lookup\n"); fprintf(stderr, "Error during external name lookup\n");
return; return;
} }
if ((f = ldopen(reloc_info_file, NULL)) == NULL) { if ((f = ldopen(reloc_info_file, NULL)) == NULL) {
fprintf(stderr, "Error during external name lookup\n"); fprintf(stderr, "Error during external name lookup\n");
return; return;
@ -522,7 +522,7 @@ fill_the_table(void)
if (cur_entry) if (cur_entry)
cur_entry->next = NULL; cur_entry->next = NULL;
ldclose(f); ldclose(f);
} }
@ -538,7 +538,7 @@ really_lookup_external_name(char *name)
} }
return(0); return(0);
} }
long long
lookup_external_name(char *name, long *location) lookup_external_name(char *name, long *location)
{ {
@ -632,7 +632,7 @@ lookup_external_name(char *name, long *location)
name_list[0].n_name = nm; name_list[0].n_name = nm;
name_list[1].n_name = 0; name_list[1].n_name = 0;
status = nlist(reloc_info_file, name_list); status = nlist(reloc_info_file, name_list);
if (status != 0 || (name_list[0].n_value == 0 if (status != 0 || (name_list[0].n_value == 0
@ -665,4 +665,3 @@ get_reloc_file()
return(NULL); return(NULL);
} }
} }