* configure.in: Check whether getuid and getgid exist.

* archive.c: Define getuid and getgid as macros if HAVE_GETUID or
	HAVE_GETGID are not defined, respectively.
	(bfd_write_armap): Don't special case on _WIN32 for getuid and
	getgid.
	* configure.host: Set ac_cv_func_get{ug}id for *-*-windows*.
	* configure, config.in: Rebuild.
This commit is contained in:
Ian Lance Taylor 1999-05-27 22:48:53 +00:00
parent 6da466c730
commit 633fd09f3c
6 changed files with 29 additions and 8 deletions

View File

@ -1,3 +1,13 @@
1999-05-28 Ian Lance Taylor <ian@zembu.com>
* configure.in: Check whether getuid and getgid exist.
* archive.c: Define getuid and getgid as macros if HAVE_GETUID or
HAVE_GETGID are not defined, respectively.
(bfd_write_armap): Don't special case on _WIN32 for getuid and
getgid.
* configure.host: Set ac_cv_func_get{ug}id for *-*-windows*.
* configure, config.in: Rebuild.
1999-05-28 Martin Dorey <mdorey@madge.com>
* elf32-i960.c: New file.

View File

@ -1,5 +1,5 @@
/* BFD back-end for archive files (libraries).
Copyright 1990, 91, 92, 93, 94, 95, 96, 97, 1998
Copyright 1990, 91, 92, 93, 94, 95, 96, 97, 98, 1999
Free Software Foundation, Inc.
Written by Cygnus Support. Mostly Gumby Henkel-Wallace's fault.
@ -1340,6 +1340,14 @@ _bfd_construct_extended_name_table (abfd, trailing_slash, tabloc, tablen)
/** A couple of functions for creating ar_hdrs */
#ifndef HAVE_GETUID
#define getuid() 0
#endif
#ifndef HAVE_GETGID
#define getgid() 0
#endif
/* Takes a filename, returns an arelt_data for it, or NULL if it can't
make one. The filename must refer to a filename in the filesystem.
The filename field of the ar_hdr will NOT be initialized. If member
@ -1901,13 +1909,8 @@ bsd_write_armap (arch, elength, map, orl_count, stridx)
bfd_ardata (arch)->armap_datepos = (SARMAG
+ offsetof (struct ar_hdr, ar_date[0]));
sprintf (hdr.ar_date, "%ld", bfd_ardata (arch)->armap_timestamp);
#ifndef _WIN32
sprintf (hdr.ar_uid, "%ld", (long) getuid ());
sprintf (hdr.ar_gid, "%ld", (long) getgid ());
#else
sprintf (hdr.ar_uid, "%ld", (long) 666);
sprintf (hdr.ar_gid, "%ld", (long) 42);
#endif
sprintf (hdr.ar_size, "%-10d", (int) mapsize);
strncpy (hdr.ar_fmag, ARFMAG, 2);
for (i = 0; i < sizeof (struct ar_hdr); i++)

View File

@ -67,9 +67,15 @@
/* Define if you have the getcwd function. */
#undef HAVE_GETCWD
/* Define if you have the getgid function. */
#undef HAVE_GETGID
/* Define if you have the getpagesize function. */
#undef HAVE_GETPAGESIZE
/* Define if you have the getuid function. */
#undef HAVE_GETUID
/* Define if you have the madvise function. */
#undef HAVE_MADVISE

2
bfd/configure vendored
View File

@ -4460,7 +4460,7 @@ fi
fi
for ac_func in fcntl getpagesize setitimer sysconf fdopen
for ac_func in fcntl getpagesize setitimer sysconf fdopen getuid getgid
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
echo "configure:4467: checking for $ac_func" >&5

View File

@ -63,6 +63,8 @@ m68*-hp-hpux*) HDEFINES=-DHOST_HP300HPUX ;;
ac_cv_func_getpagesize=no
ac_cv_func_madvise=no
ac_cv_func_mprotect=no
ac_cv_func_getuid=no
ac_cv_func_getgid=no
ac_cv_header_sys_file_h=no
ac_cv_header_sys_time_h=no
ac_cv_header_unistd_h=no

View File

@ -98,7 +98,7 @@ AC_CHECK_HEADERS(stddef.h string.h strings.h stdlib.h time.h unistd.h)
AC_CHECK_HEADERS(fcntl.h sys/file.h sys/time.h)
AC_HEADER_TIME
AC_HEADER_DIRENT
AC_CHECK_FUNCS(fcntl getpagesize setitimer sysconf fdopen)
AC_CHECK_FUNCS(fcntl getpagesize setitimer sysconf fdopen getuid getgid)
BFD_BINARY_FOPEN