Wed Aug 7 14:19:03 1996 Philippe De Muyter <phdm@info.ucl.ac.be>

* configure.in: Make GAS_CHECK_DECL_NEEDED include <string.h> or
	<strings.h> if they exist.  Call GAS_CHECK_DECL_NEEDED on strstr
	and sbrk.
	* acconfig.h (NEED_DECLARATION_STRSTR): New macro.
	(NEED_DECLARATION_SBRK): New macro.
	* configure, conf.in: Rebuild.
	* as.h: Only include <strings.h> if HAVE_STRINGS_H.
	(strstr): Declare if NEED_DECLARATION_STRSTR.
	* as.c: If HAVE_SBRK and NEED_DECLARATION_SBRK, declare sbrk.
This commit is contained in:
Ian Lance Taylor 1996-08-07 18:23:08 +00:00
parent 85fe9d3e46
commit 5cece52677
6 changed files with 117 additions and 11 deletions

View File

@ -1,3 +1,15 @@
Wed Aug 7 14:19:03 1996 Philippe De Muyter <phdm@info.ucl.ac.be>
* configure.in: Make GAS_CHECK_DECL_NEEDED include <string.h> or
<strings.h> if they exist. Call GAS_CHECK_DECL_NEEDED on strstr
and sbrk.
* acconfig.h (NEED_DECLARATION_STRSTR): New macro.
(NEED_DECLARATION_SBRK): New macro.
* configure, conf.in: Rebuild.
* as.h: Only include <strings.h> if HAVE_STRINGS_H.
(strstr): Declare if NEED_DECLARATION_STRSTR.
* as.c: If HAVE_SBRK and NEED_DECLARATION_SBRK, declare sbrk.
Wed Aug 7 11:50:26 1996 Ian Lance Taylor <ian@cygnus.com>
* config/tc-mips.c (md_section_align): Do align if OBJ_ELF, but

View File

@ -17,12 +17,18 @@
#undef TARGET_OS
#undef TARGET_VENDOR
/* Sometimes the system header files don't declare strstr. */
#undef NEED_DECLARATION_STRSTR
/* Sometimes the system header files don't declare malloc and realloc. */
#undef NEED_DECLARATION_MALLOC
/* Sometimes the system header files don't declare free. */
#undef NEED_DECLARATION_FREE
/* Sometimes the system header files don't declare sbrk. */
#undef NEED_DECLARATION_SBRK
/* Sometimes errno.h doesn't declare errno itself. */
#undef NEED_DECLARATION_ERRNO

View File

@ -79,8 +79,10 @@ void *alloca ();
#ifdef HAVE_STRING_H
#include <string.h>
#else
#ifdef HAVE_STRINGS_H
#include <strings.h>
#endif
#endif
#ifdef HAVE_STDLIB_H
#include <stdlib.h>
#endif
@ -145,6 +147,9 @@ void *alloca ();
#endif /* !__MWERKS__ */
/* Other stuff from config.h. */
#ifdef NEED_DECLARATION_STRSTR
extern char *strstr ();
#endif
#ifdef NEED_DECLARATION_MALLOC
extern PTR malloc ();
extern PTR realloc ();
@ -212,11 +217,6 @@ extern PTR bfd_alloc_by_size_t PARAMS ((bfd *abfd, size_t sz));
as_fatal("Case value %ld unexpected at line %d of file \"%s\"\n", \
(long) val, __LINE__, __FILE__); \
}
/* Version 2.1 of Solaris had problems with this declaration, but I
think that bug has since been fixed. If it causes problems on your
system, just delete it. */
extern char *strstr ();
#include "flonum.h"

View File

@ -44,12 +44,18 @@
#undef TARGET_OS
#undef TARGET_VENDOR
/* Sometimes the system header files don't declare strstr. */
#undef NEED_DECLARATION_STRSTR
/* Sometimes the system header files don't declare malloc and realloc. */
#undef NEED_DECLARATION_MALLOC
/* Sometimes the system header files don't declare free. */
#undef NEED_DECLARATION_FREE
/* Sometimes the system header files don't declare sbrk. */
#undef NEED_DECLARATION_SBRK
/* Sometimes errno.h doesn't declare errno itself. */
#undef NEED_DECLARATION_ERRNO

88
gas/configure vendored
View File

@ -2104,6 +2104,10 @@ gas_test_headers="
#endif
#ifdef HAVE_STRING_H
#include <string.h>
#else
#ifdef HAVE_STRINGS_H
#include <strings.h>
#endif
#endif
#ifdef HAVE_STDLIB_H
#include <stdlib.h>
@ -2113,12 +2117,48 @@ gas_test_headers="
#endif
"
echo $ac_n "checking whether declaration is required for strstr""... $ac_c" 1>&6
if eval "test \"`echo '$''{'gas_cv_decl_needed_strstr'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 2126 "configure"
#include "confdefs.h"
$gas_test_headers
int main() { return 0; }
int t() {
typedef char *(*f)();
f x;
x = (f) strstr;
; return 0; }
EOF
if { (eval echo configure:2138: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
rm -rf conftest*
gas_cv_decl_needed_strstr=no
else
rm -rf conftest*
gas_cv_decl_needed_strstr=yes
fi
rm -f conftest*
fi
echo "$ac_t""$gas_cv_decl_needed_strstr" 1>&6
test $gas_cv_decl_needed_strstr = no || {
cat >> confdefs.h <<\EOF
#define NEED_DECLARATION_STRSTR 1
EOF
}
echo $ac_n "checking whether declaration is required for malloc""... $ac_c" 1>&6
if eval "test \"`echo '$''{'gas_cv_decl_needed_malloc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 2122 "configure"
#line 2162 "configure"
#include "confdefs.h"
$gas_test_headers
int main() { return 0; }
@ -2130,7 +2170,7 @@ x = (f) malloc;
; return 0; }
EOF
if { (eval echo configure:2134: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
if { (eval echo configure:2174: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
rm -rf conftest*
gas_cv_decl_needed_malloc=no
else
@ -2154,7 +2194,7 @@ if eval "test \"`echo '$''{'gas_cv_decl_needed_free'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 2158 "configure"
#line 2198 "configure"
#include "confdefs.h"
$gas_test_headers
int main() { return 0; }
@ -2166,7 +2206,7 @@ x = (f) free;
; return 0; }
EOF
if { (eval echo configure:2170: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
if { (eval echo configure:2210: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
rm -rf conftest*
gas_cv_decl_needed_free=no
else
@ -2185,6 +2225,42 @@ EOF
}
echo $ac_n "checking whether declaration is required for sbrk""... $ac_c" 1>&6
if eval "test \"`echo '$''{'gas_cv_decl_needed_sbrk'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 2234 "configure"
#include "confdefs.h"
$gas_test_headers
int main() { return 0; }
int t() {
typedef char *(*f)();
f x;
x = (f) sbrk;
; return 0; }
EOF
if { (eval echo configure:2246: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
rm -rf conftest*
gas_cv_decl_needed_sbrk=no
else
rm -rf conftest*
gas_cv_decl_needed_sbrk=yes
fi
rm -f conftest*
fi
echo "$ac_t""$gas_cv_decl_needed_sbrk" 1>&6
test $gas_cv_decl_needed_sbrk = no || {
cat >> confdefs.h <<\EOF
#define NEED_DECLARATION_SBRK 1
EOF
}
# Does errno.h declare errno, or do we have to add a separate declaration
# for it?
@ -2193,7 +2269,7 @@ if eval "test \"`echo '$''{'gas_cv_decl_needed_errno'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 2197 "configure"
#line 2273 "configure"
#include "confdefs.h"
#ifdef HAVE_ERRNO_H
@ -2209,7 +2285,7 @@ x = (f) errno;
; return 0; }
EOF
if { (eval echo configure:2213: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
if { (eval echo configure:2289: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
rm -rf conftest*
gas_cv_decl_needed_errno=no
else

View File

@ -656,6 +656,10 @@ gas_test_headers="
#endif
#ifdef HAVE_STRING_H
#include <string.h>
#else
#ifdef HAVE_STRINGS_H
#include <strings.h>
#endif
#endif
#ifdef HAVE_STDLIB_H
#include <stdlib.h>
@ -664,8 +668,10 @@ gas_test_headers="
#include <unistd.h>
#endif
"
GAS_CHECK_DECL_NEEDED(strstr, f, char *(*f)(), $gas_test_headers)
GAS_CHECK_DECL_NEEDED(malloc, f, char *(*f)(), $gas_test_headers)
GAS_CHECK_DECL_NEEDED(free, f, void (*f)(), $gas_test_headers)
GAS_CHECK_DECL_NEEDED(sbrk, f, char *(*f)(), $gas_test_headers)
# Does errno.h declare errno, or do we have to add a separate declaration
# for it?